java 学习笔记

1.对象的赋值方式是引用赋值

2.继承时单根继承,子类的构造函数里,,如果没有super的构造函数,那么第一行就是super();

3.接口不算类,无构造函数所有方法为空,方法为public,接口可以继承(多个)接口,类也可以继承多个接口,但是只能继承一个抽象类

4.非抽象类必须实现完所有的空方法,extends必须写在implements前面

5.抽象类算类,有构造函数,可以有main,可以有private方法

6.向下转型一般不被允许,除非父类本身是由子类向上转型而来

7.多态过程中,由子类转换成父类时,用的都是同一块内存,只不过将子类扩展的那部分内存给遮起来了

8.接口为什么叫做接口:因为实现接口的各种类,向上转型为接口,并作为形式参数时,那个形式参数的数据还是某种类的数据,接口仅仅起到将不同类的形式参数和某方法进行适配并解耦的作用

 

9,静态方法中只能使用静态变量,禁止引用非静态方法

10.static块之在加载类时被执行一次,匿名代码块在new前被加载一次

11.单例模式:一个类在运行时只能有一个实例对象在内存中

    采用static共享对象实例,private修饰构造函数防止new新的对象,唯一一个静态实例在类内就被new出来,外界只能通过类的getInstance()方法获得该静态实例

12.final类:不能被继承;fial方法:不能被子类重写;final字段:基本类型不能被改变值,对象前面final表示该对象只能指向该块内存,但可以修改该对象的值

 

13,常量:public static final;接口内的值默认为常量 

14,包装类:给八个基本类型定义一个包装类,出去Float和Double之外都建立常量池,当包装类的对象对应的值在常量池中,该对象就指向常量池中的值,反之new一个对象

15.包装类对象有两种创建方式:直接用常量池的常量进行赋值;new一个包装类进行赋值

16,装箱和拆箱:由基本类型构造包装类时自动装箱,包装类参与运算时自动拆箱,包装类和包装类比较时不拆箱

17,常量池的常量都在栈内存上,new的包装类对象在堆上,一旦涉及到堆运算,那么最终的结果必定也在堆内存上

 

18.String比StringBuffer的修改慢很多,Stringuffer的串是原地改变的,传到函数里改变后不会new新的对象

 

19.import和package:当要将一些类打包时,在开头加上package,再接上包名,包名是路径+这个包的名字;当要用到其他包的类时,就要import,即把路径给import即可,如果两个包里有相同的类,那么只能import一个,剩下一个使用时要用完整路径

 

20.jar文件打包流程:将要一个包内所有.class打包成.jar文件,其他文件要用到这个包内的某个.class时,先在Project->Java build path->libraries->classpath 里加上要import的包的路径,同时在代码里 import 包名.类名

21.包名为a.b.c.T,那么这个包的路径必须是/a/b/c/T

22,private:类内访问;default:包内访问;protected:包内,子类访问;public:公开

23.可以使成员变量都是private,成员方法都是public

 

posted on 2019-10-15 13:44  zsben  阅读(115)  评论(0编辑  收藏  举报

导航