java小笔记

1. 类的成员变量有默认初始化值。

2. 局部变量没有默认初始化值。

3. 局部变量和成员变量名称相同的时候,在方法调用的时候,采用就近原则。

4. 子类的构造方法默认会访问父类中的空参构造方法

  子类会继承父类的数据还可能会使用父类中的数据,所以子类在初始化之前要先初始化父类中的数据;

  子类的构造方法中系统会默认添加super()方法,用来访问父类的空参构造方法;

5. Object类是最顶层的父类,没有继承的话会默认继承Object。

6. this是当前对象的引用,super是当前对象父类的引用。

7. 系统会默认添加空参构造,当提供有参构造时,系统不会再提供无参构造。

8. super()提供参数来访问父类中的有参构造方法。

9. final修饰基本数据类型不可以改变值,修饰引用数据类型是地址不可以改变,但是对象中的属性可以改变。

10. final修饰的类不能被继承,final修饰的方法不能被重写。

11. final修饰变量初始化的时机:显示初始化在对象构造完毕前即可。final修饰的变量智能被初始化一次。

12. 代码块

  局部代码块,构造代码块,静态代码块

13. 静态方法只能被静态方法重写。

14. 方法重写的访问权限不能更低,最好是相等。

15. 接口中的方法都是抽象方法,接口不能被实例化。

16. 接口的子类

  可以是抽象类。但是意义不大

  可以是具体类,但是要重写接口中的所有抽象方法

17. 接口中成员变量:在接口中的成员变量都是常量,并且是静态的并公共的

  默认修饰符:static,public,final(三个修饰符没有顺序之分,可以互相交换位置)

18. 接口构造方法:接口中没有构造方法。

19. 接口成员方法:只能是抽象方法,默认修饰符是public,abstract

20. 类和类的关系

  继承关系,只能是单继承,但是可以多层继承

21. 类与接口的关系

  类实现接口,可以单实现,也可以多实现

  可以在继承一个类的同时实现多个接口

22. 接口与接口

  继承关系,可以单继承,也可以多继承

23. package,通常包名是域名的倒写。

24. 定义包的注意事项

  package语句必须是程序的第一条可执行语句

  package语句在一个java文件中只能有一个

  如果没有package,默认表示无包名

25. 编译带包的类,java -d . xxx.java

26. protected修饰的方法在不同包下的无关类中不能访问。

27. 内部类的访问特点

  内部类可以直接访问外部类的成员,包括私有

  外部类要访问内部类的成员,必须创建对象

  外部类名.内部类名 对象名 = 外部类对象.内部类对象

28. 局部内部类只能访问方法中的常量。

29. 匿名内部类是定义在方法中的内部类,是内部类的简化写法。

  前提是存在一个类或者接口,这里的类可以是具体类也可以是抽象类

  格式:new 类名或者接口名(){

        重写方法;

     }

30. 成员变量的默认初始化值;整型是0,浮点型是0.0,布尔型是false,char型是u0000,引用数据类型是null。

31. 方法的重写返回值,参数和方法名必须一致,或者返回值类型是子父类

原文地址:https://www.cnblogs.com/liujinhong/p/6008726.html