(1)抽象类:使用sbstract修饰 接口:使用interface
(2)抽象类:可以有抽象方法和普通方法,抽象方法的类一定是抽象类 接口:jdk1.7之前只能有抽象方法,在jdk1.8之后 可以有default、static修饰的方法
(3)抽象类:可以有普通的属性(变量 常量等等) 接口:只能用常量
(4)抽象类:通过普通类继承抽象类{}实现 接口:通过类implements接口{}实现
(5)抽象类:可以有构造方法 接口:没有构造方法
(6)抽象类:只能单继承 接口:可以多继承 也可以多实现
不能: 构造方法: (1)给类中的属性赋值 继承关系中子类除了继承父类的属性之外,还可以扩展自己的属性 (2)可以重载或者在子类中用 super()调用父类的构造方法
==: 基本数据类型:比较数值是否相等 引用数据类型 :比较2个对象的地址值是否相等
equals() 引用数据类型:比较2个引用数据类型的值是否相等
装箱:基本数据类型转换成包装类:基本数据类型直接赋值给对应的包装类型 Integer a=43;
int t=34;
Integer t1=t;
Integer in=new Integer(t)
拆箱:包装类转换成基本数据类型 Integer a=45;
int t=a.intvalue();
重载: (1)在当前类 (2)方法名必须相同 (3)返回值类型没有任何关系 (4)方法的参数一定不相同
重写: (1)子类和父类的方法名,返回值类型 参数列表全部必须相同 (2)子类的方法修饰符权限不能比父类低
final: 属性不能改变,方法不能被重写,类不能被继承。 finally: 异常处理的语句结构的一部分,总会执行。 finalize Object一个类,垃圾回收期执行的时候调用方法,提供对其他资源的回收。
都不可以: abstract抽象类,只有方法的声明没有实现,抽象类的一个子类 static:静态,一种属于类而不属于对象的方法或者属性 synchronized:同步,相对于线程的同步锁
会执行,在return前执行
int:基本数据 默认0 定义属性 Integer:包装类 null new创建对象
静态变量 使用 static 修饰,可以使用类名.属性名调用, 所有对象共享变量 , 加载类的时候读取到变量 实例变量:没有static修饰,可以使用 对象名.属性名 调用, 所有对象单独私有变量 ,类加载没有读取到变量
对象的内容保存到数据库或者文件中,可以很方便保存的对象在读取出来,供用户来使用,可以使用java提供的一个序列化的机制 什么时候进行序列化? (1)对象保存到文件或者数据库中 (2)套接字在网络上传送对象 (3)通过RMI传输的对象 对象序列化方法:实现Serializabale接口
static boolean foo(char c) { System.out.print©; return true; }
public static void main(String[] args) { int i = 0; for (foo(‘A’); foo(‘B’) && (i < 2); foo(‘C’)) { i++; foo(‘D’); } }
ABDCBDCB
