JAVA随笔
类名首字母大写。
变量名和方法名首字母小写。
运用驼峰标识。
1.
Java是解释型语言。
编译型语言:把做好的源程序全部编译成二进制代码的可运行程序,然后直接运行这个程序。
特点:执行速度快,效率高,依靠编译器,跨平台性差。
代表:C,C++
解释型语言:把做好的源程序翻译一句,然后执行一句,直到结束。
特点:执行速度慢,效率低,依靠解释器,跨平台性好。
代表:Java,JS
2.
成员变量,java可以默认初始化。
boolean:false 引用类型:null char:'\u0000' 其他基本都是0
局部变量,必须自己初始化,java不会默认初始化。
3.
new classA();
调用的是classA的构造方法classA(...)。
构造方法与类同名,且无返回值。
有返回值则为普通的方法。
没有显示定义构造方法时,编译器自动添加空的构造方法。
显示定义了构造方法时,编译器就不再指定空构造方法。
4.
静态成员针对类调用,即类.成员,即不用实例化。(对象调用效果也一样,所有对象调用的是同一个。)
非静态成员针对对象调用,即用对象.成员。
静态方法不是针对某个对象的调用,所以不能访问非静态成员。
main方法不能使用上面不是静态的变量,因为main方法是静态方法。
不用new即可使用类的static变量。
5.
jar -cvf XX.jar *.*:把当前目录下所有字目录打包成jar包
6.
main函数的String[] args 存的是执行代码的命令后面跟的命令行参数。
可以用final,synchronized修饰
7、
浅复制:被复制对象的所有变量都含有与原来对象相同的值,所有引用类型依然指向原来的对象
Object类提供protect clone()方法,返回一个Object对象的复制,返回的是一个新对象而不是引用,使用步骤:
实现Cloneable接口,这是一个标识接口,没有任何方法
重写Object类中的clone()方法
在clone方法中调用super.clone()
把浅复制的引用执行原型对象的新的克隆体
深复制:
当类中只有基本类型时,只用浅复制就可以,但当类包含了一些对象时,就需要深复制,实现方法就是在对对象使用clone()方法完成复制后,对对象中非基本类型的属性也调用clone()方法完成深复制
8、
获取类名:
当前类:getClass().getName()
父类:getClass().getSuperClass().getName() 因为getClass()方法在Object类中被定义为final和native,子类不能覆盖,只能返回此Object运行时的类