JAVA基础----持续更新

1.基本数据类型

- 整数型:byte  short  int  long   默认为int 计算时需要转换

- 浮点型:float  double     默认为double

- 布尔类型:boolean

- 字符型

2.引用类型     包括数组,类,接口

类型  引用对象  =  new  构造方法( );

Person  p  =  new  Person();   Person作为一个引用类型

3.函数或方法

- 方法的重载:函数名一样,参数个数、类型不一样,返回值可相同可不同

- 重载和重写的区别

重写是继承    函数名,参数类型,个数相同   发生在父类和子类关系的类,子类定义与父类完全相同的方法,子类调用时候直接调用子类重写的方法

重载不用继承    函数名相同,参数的类型,个数,顺序不同  发生在一个类中

4.面向对象

设计ATM机的终端系统:

ATM机;

银行卡

类是抽象的 创建的对象是具体的

数据传递时候:考虑的是对象与对象之间的传递数据

对象是类的具体实例

访问权限  --四个

private:本类中

默认: 本包中

protecte:本包中、外包的子类中

public:整个项目中

①封装  把对象的属性和行为结合在一个独立的系统单元内部

- 封装.jar包

cmd命令:javac  执行java文件  使其生成.class文件

javac -d  执行.java文件和.class文件

压缩成.jar文件之后需要重新解压  修改met文件夹中的文件  将包名和类型全部修改  重新压缩    否则执行不了

②继承(泛化)

extends

父类:超类,基类

子类:派生类

super():调用父类构造器

this():调用本类构造器

③多态

多态必须建立在继承的基础上,没有继承就没有多态

当父类作为方法的形参时,所有的子类都可以传递

父类的引用指向子类对象

Fruit f = new Apple();//Fruit作为父类,指向子类Apple

构造器

完成对象的创建(实例化)  一般也完成对象的初始化

public class Person{
     String name;
     int age;
     String sex;
     //构造器
     public Person(String name, int age,String s){
          this.name=name;
          this.age=age;
          this.sex=sex;
     }
}

构造方法

创建对象

为属性赋初始值

默认一个无参数的构造方法

但是一旦定义了有参数的构造方法,则不会生成默认的无参构造方法

关于父类子类的执行顺序

变量

- 局部变量:定义在方法体中,或方法的形参

- 实例变量:类的属性,全局变量

- 静态变量:声明为static的属性

内存的类别

Penson p = new Person("aa","11","male");

//对象名 p 存放在栈内存中  ,属性值存在堆内存中,p 也称为对象的引用

栈内存

- 基本数据类型的局部变量,对象的引用值

堆内存

- 对象的属性,数组的元素   有New 就用堆内存

在其他类中或者方法中 ,要想访问对象的方法或者属性,就必须实例化这个类,然后通过对象名和点操作符来完成;在本类中直接访问

垃圾回收机制:作用于堆内存

super()  调用父类的构造方法

static 类变量(静态变量) 所有类共享,只在类加载的时候创建,执行一遍  可以直接调用,类存在static变量就存在

局部变量不允许被static修饰

实例变量  非static属性

非静态方法 必须 用对象来调用

public class Test{
     public void add(int a,int b){}
     public static void main(String []args){
          Test t = new Test;
          t.add(1,2);
     }
}
//add是非静态方法,main方法是静态的,所以只能先创造出Test对象,再调用add函数

数据类型的转换

向上转型:子类转换为父类,具有继承和实现关系,损失子类新扩展的属性,方法

向下转型:强制转换

Animal a = new Cat();//向上转换
Cat c = (Cat)a;//向下转换

instanceof 运算符判断经过上溯转型后是哪个子类的

object instanceof class//判断一个对象是否属于一个类
object instanceof interface//判断一个对象是否属于一个接口
//返回值都是boolean

final 可以修饰:

- 类:不能被继承了

- 变量:相当于常量

- 方法:

接口  中只有常量和抽象方法

常量:public  static  final

抽象方法:public  abstract

抽象类

用 abstract 定义的类

时间: 2024-10-14 17:01:57

JAVA基础----持续更新的相关文章

算法之路——POJ刷题(Java,持续更新中)

先拿一些水题来练手了 1.POJ1000 import java.util.Scanner; /** * Created by mxcsky on 2015/1/25. */ public class POJ1000 { public static void main(String[] args){ Scanner in = new Scanner(System.in); int a = in.nextInt(); int b = in.nextInt(); System.out.println

python基础——持续更新中

1. 模块导入 import xxx  或 from xxx import xxx ,尽量避免使用 from xxx import * 2. 变量.常量 局部变量:只能在一个函数内或一个类内使用,可赋值和更改值 全局变量:可在所有函数或者类中使用,可赋值和更改值 常量:确定的值,不能赋值和更改值 3. 数据类型 整数:如2 浮点数:如2.2 字符串:"abc" 布尔值:True/False 列表(list):[2,3,4] 字典(dict): {"name":&qu

shell命令基础---持续更新

(1)shell脚本调试模式:(可以清楚的知道执行shell脚本时具体哪一步报错了,以及报错内容) -sh -x 脚本文件:eg:# sh -x /root/XXXX.sh (2)复杂shell脚本调试:(可用于提示用户正在执行的shell命令所执行的步骤内容) 插入echo断点:eg:echo '提示信息.....' (3)chmod命令:用于给文件添加权限(读4,写2,执行1)(最大权限777) chmod [options] mode files 只能文件属主或特权用户才能使用该功能来改变

Java基础知识汇总(持续更新)

持续更新算是给自己立个flag,截图来自内部课程,内容很杂,后续整理归类... Mobile apple;apple = new Mobile("Apple","iPhone Xs Max",8499); 创建对象后,相当于在内存中保存了对象的地址,通过对象的地址找到对象的本身,从而找到相关的属性 成员变量默认初始值: 编码规范:包:全小写,名词.公司.团队组织名域名的反写:类名:名词或名词性短语,首字母大写,多个单词首字母均大写:接口:等同于类:方法:动词或动宾短

java开发中遇到的问题及解决方法(持续更新)

摘自 http://blog.csdn.net/pony12/article/details/38456261 java开发中遇到的问题及解决方法(持续更新) 工作中,以C/C++开发为主,难免与其他服务和Web进行交换,Java开发必不可少,又不想动用Eclipse大家伙,只能自己动手编写脚本进行Java代码的编译和运行,期间遇到的一些问题,记录下来供自己和大家参考.1)软件包不存在/软件包 javax.jms 不存在    这是由于javac编译时找不到javax.jms所在的软件包,因此将

java 编译异常及其解决办法(持续更新)

java 编译异常及其解决办法(持续更新) 1.解决办法:将jar版本降低适配 低版本的jdk或tomcat 1 严重: ContainerBase.addChild: start: 2 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EasyGo]] 3 at org.apach

C++ 基础知识汇总 持续更新

摘录一些C++面试常考问题,写一些自己的理解,欢迎来摘果子. static关键字 用于声明静态对象: 静态函数只在本文件可见.(默认是extern的) 全局静态对象:全局静态对象,存储在全局/静态区,作用域整个程序,在程序结束才销毁: 局部静态对象:在函数内部加上static声明的变量,在首次调用时初始化,然后一直驻留在内存,作用域是该函数,可用于函数调用计数(primary有例子),程序结束释放: 静态数据成员:归属于类,类对象共享,类外初始化,类对象可访问: 静态函数成员:归属于类,只能访问

[转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 我之前想总结 一直懒 这次国庆加班 也本来计划来着 感冒了 作罢 .. 作者:蓝藻(罗蓝国度) 创建时间:2018.7.3编辑时间:2019.7.16 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴: 实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论: 条理清晰:分类归纳,快速找到想要的命

C#、Java中的一些小功能点总结(持续更新......)

前言:在项目中,有时候一些小的功能点,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小功能点,以备用,并持续更新...... 1.禁用DataGridView表头的排序功能 1 /// <summary> 2 /// 禁止点击列表头进行排序 3 /// </summary> 4 /// <param name="dgv">当前DataGridView控件</param> 5 private