抽象类:使用sbstract修饰 接口:使用interface
抽象类:可以有抽象方法和普通方法,抽象方法的类一定是抽象类 接口:jdk1.7之前只能有抽象方法,在jdk1.8之后 可以有default、static修饰的方法
抽象类:可以有普通的属性(变量 常量等等) 接口:只能用常量
抽象类:通过普通类继承抽象类{}实现 接口:通过类implements接口{}实现
注意:他们都不能实例化,不能通过new关键字创建 但可以使用内部类实现抽象类和接口
抽象类:可以有构造方法 接口:没有构造方法
抽象类:只能单继承 接口:可以多继承 也可以多实现
不能:
比如class A{public name public age} class B extends A{public sex} //发生错误
构造方法:
给类中的属性赋值 继承关系中子类除了继承父类的属性之外,还可以扩展自己的属性
可以重载或者在子类中用 super()调用父类的构造方法
==:
基本数据类型:比较数值是否相等 引用数据类型 :在电脑中的地址 String 基本数据类型的包装类
equals():
没有重写:比较两个对象的地址是否相等
public boolean equals(Object obj){
return (this==obj);
}
重写:
public boolean equals(Object obj){
需要的数据类型 变量名=(需要的数据类型)obj
需要的数据类型中的变量值比较是否相等
}
装箱:基本数据类型转换成包装类:基本数据类型直接赋值给对应的包装类型
Integer a=43;
int t=34;
Integer t1=t;
Integer in=new Integer(t)
拆箱:包装类转换成基本数据类型
Integer a=45;
int t=a.intvalue();
String----基本数据类型
Integer integer=new Integer(String类型数字)
int t = integer.intvalue()
基本数据类型-String
int a=45;
String s=""+a;
Integer n=new Integer(a);
n.toString()
重载:
在当前类
方法名必须相同
返回值类型没有任何关系
方法的参数一定不相同
重写:三同一不低
子类和父类的方法名,返回值类型 参数列表全部必须相同
子类的方法修饰符权限不能比父类低
final 变量 方法类:属性只能改变一次,方法不能被重写 类不能被继承
finally:异常处理的语句结构的一部分,总会执行
finalize:Object一个类,垃圾回收期执行的时候调用方法,提供对其他资源的回收。
都不可以:
abstract抽象类,只有方法的声明没有实现,抽象类的一个子类
static:静态,一种属于类而不属于对象的方法或者属性
synchronized:同步,相对于线程的同步锁.
可以 可以 可以。但是 实现类必须要有明确的构造方法(提供一个默认的super()调用父类中的构造方法)
会执行,在return前执行
封装:把对象的属性和实现细节隐藏,仅对外提供公共的方法(get set)
继承:多个类中存在相同的属性和行为的时候,相同的属性和行为单独拿到一个类中,多个类无需在定义属性和方法,只需要继承这个类,继承这个类子类,被继承的类父类
多态允许不同类的对象对同一个消息做出响应,一种事物的多种形态:代码共享 解决应用程序函数的同名的问题
int:基本数据 默认0 定义属性
Integer:包装类 null new创建对象
静态变量 使用 static 修饰,可以使用类名.属性名调用, 所有对象共享变量 , 加载类的时候读取到变量
实例变量:没有static修饰,可以使用 对象名.属性名 调用, 所有对象单独私有变量 ,类加载没有读取到变量
对象的内容保存到数据库或者文件中,可以很方便保存的对象在读取出来,供用户来使用,可以使用java提供的一个序列化的机制
什么时候进行序列化?
对象保存到文件或者数据库中
套接字在网络上传送对象
通过RMI传输的对象
对象序列化方法:实现Serializabale接口
final类:不能被继承。注意使用final修饰类时,要慎重选择,除非这个类真正在以后变成中不需要来继承或者处于安全的考虑,否则尽量不要把类设计为final类
final方法 不能被重写。方法锁定,以防止任何类借修改的名义来操作方法的敏感的代码
final变量:常量,一旦赋值之和不能更改。取决于属性在编程的后期是否更改值,以后都不更改可以加final
ABDCBDCB