java基础学习笔记
2012-01-26 14:37
316 查看
1.java静态方法(继承)
在java中,子类可以继承父类的静态方法。同时,如果N是M的子类,M m = new N();这样调用静态方法,是会调用父类的静态方法的,和调用非静态方法是不同的,这点是需要注意的。
2.final关键字
如果在类中没有初始化final属性,那么请在所有的构造方法中,初始化final属性。
如果是final属性,是原生类型时,不允许修改其值;如果是对象引用时,不允许指向其他的对象,但是可以修改对象中属性的值。
3.静态代码块
静态代码块只执行一次,因此类加载器只加载一次类信息。
如果存在三个类,P,Q extends P,S extends Q,那么执行的顺序为:P的静态代码块,Q的静态代码块,S的静态代码块,P的构造方法,Q的构造方法,S的构造方法。
静态代码块是在类加载完毕后进行执行,而不是定义对象时进行的,其最大的体现在于,我们执行“类.静态变量”,这个时候,会执行静态代码块,初始化,静态变量。
4.静态方法不能访问非静态变量
为什么呢?静态方法可以用"类.静态方法"来调用,那么我们这个静态方法访问的是哪个对象的变量呢?这个根本没法指定,所以是不能这么调用的。
记住:this也是非静态变量,代表对象本身。
5.接口中的成员变量
接口中的成员变量都是public,static,final的,因为接口和类的最大区别在于,接口是一个工具集合,工具集合不需要像类那样具有自己的属性值。类在自然界中可以看成是一个实体的抽象。
6.StringPool
看这句代码:String str = new String("aaa");如果字符串池中没有“aaa”,则在字符串池中进行创建(注:字符串池是存在在栈中得),同时在堆中创建“aaa”对象,将对象的引用赋值给str;如果字符串池中存在"aaa",那么就在堆中创建"aaa"这个对象,并将引用赋值给str。
7.String的intern方法
当一个字符串调用该方法时,如果在字符串池中没有该字符串,则添加该字符串到StringPool中,并返回StringPool中该字符串的引用;如果在StringPool有该字符串,则返回StringPool中该字符串的引用。
在java中,子类可以继承父类的静态方法。同时,如果N是M的子类,M m = new N();这样调用静态方法,是会调用父类的静态方法的,和调用非静态方法是不同的,这点是需要注意的。
2.final关键字
如果在类中没有初始化final属性,那么请在所有的构造方法中,初始化final属性。
如果是final属性,是原生类型时,不允许修改其值;如果是对象引用时,不允许指向其他的对象,但是可以修改对象中属性的值。
3.静态代码块
静态代码块只执行一次,因此类加载器只加载一次类信息。
如果存在三个类,P,Q extends P,S extends Q,那么执行的顺序为:P的静态代码块,Q的静态代码块,S的静态代码块,P的构造方法,Q的构造方法,S的构造方法。
静态代码块是在类加载完毕后进行执行,而不是定义对象时进行的,其最大的体现在于,我们执行“类.静态变量”,这个时候,会执行静态代码块,初始化,静态变量。
4.静态方法不能访问非静态变量
为什么呢?静态方法可以用"类.静态方法"来调用,那么我们这个静态方法访问的是哪个对象的变量呢?这个根本没法指定,所以是不能这么调用的。
记住:this也是非静态变量,代表对象本身。
5.接口中的成员变量
接口中的成员变量都是public,static,final的,因为接口和类的最大区别在于,接口是一个工具集合,工具集合不需要像类那样具有自己的属性值。类在自然界中可以看成是一个实体的抽象。
6.StringPool
看这句代码:String str = new String("aaa");如果字符串池中没有“aaa”,则在字符串池中进行创建(注:字符串池是存在在栈中得),同时在堆中创建“aaa”对象,将对象的引用赋值给str;如果字符串池中存在"aaa",那么就在堆中创建"aaa"这个对象,并将引用赋值给str。
7.String的intern方法
当一个字符串调用该方法时,如果在字符串池中没有该字符串,则添加该字符串到StringPool中,并返回StringPool中该字符串的引用;如果在StringPool有该字符串,则返回StringPool中该字符串的引用。
相关文章推荐
- 【java基础知识(学习笔记)】--方法的重载
- JavaWeb学习笔记-java基础-3-自动装箱拆箱
- Java基础学习,一些零散的笔记之抽象类与接口
- JSP基础实例_Java动态实现课程表_学习笔记
- Java基础学习笔记 第一部分 part 6
- Java学习笔记——java语法基础
- java基础知识学习笔记(四)
- 【Java学习笔记】基础知识学习7【字符串相关】
- 【Java学习笔记】基础知识学习8【字符串比较】
- 黑马程序员 Java基础学习笔记 线程安全问题
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(四):
- 【屌丝学习笔记】第十二天 JAVA基础
- 【屌丝学习笔记】第三天 JAVA基础
- 黑马程序员_java基础学习笔记10_多线程
- 第四天01 JAVA基础语法(类型转换)(学习笔记)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<Hibernate_配置详解>(三十六)
- Java学习笔记之网络编程基础-根据域名自动到DNS上获取IP地址
- Java基础学习笔记 -- 1(认识JDK)
- Java基础学习笔记之八--IO流(1)
- JAVA学习笔记——JAVA基础语法(四)