文章中内容部分来自《java核心技术卷1》 《java编程思想》 部分来自网络
java学习路线图 http://www.cnblogs.com/biehongli/p/5754555.html
一 面向对象
1 一切都被视为对象
2 储存:寄存器,堆栈,堆(new),常量存储,非RAM存储。速度由快到慢。
3 对象不需要手工销毁,垃圾回收器会自动销毁。
4 当申明一个事物是static时,就意味着这个域或方法不会与它包含的那个类的任何对象实例关联在一起。
5 构造方法要与类名相同,无返回类型,在类初始化的时候调用。 方法最好与类名不同,对象调用,静态方法可用类名.方法()。
6 构造器和方法在下面三个方面区别:修饰符,返回值,命名。
a 和方法一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被package 和 friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized。
b 返回类型也是非常重要的。方法能返回任何类型的值或者无返回值(void),构造器没有返回值,也不需要void。
c 两者的命名。构造器使用和类相同的名字,而方法则不同。按照习惯,方法通常用小写字母开始,而构造器通常用大写字母开始。构造器通常是一个名词,因为它和类名相同;而方法通常更接近动词,因为它说明一个操作。
7 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问的方式。好处:将变化隔离;便于使用;提高重要性;提高安全性。封装原则:将不需要对外提供的内容都隐藏起来。
8 初始化的顺序包括构造方法调用的顺序如下:
a.父类静态成员和静态初始化快,按在代码中出现的顺序依次执行。
b.子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。
c.父类的实例成员和实例初始化块,按在代码中出现的顺序依次执行。
d.执行父类的构造方法。
e.子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
f.执行子类的构造方法。
9 this表示类实例本身。this的用法:
a 表示对当前对象的引用。
b 表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分。
c 用于在构造方法中引用满足指定参数类型的构造器。
10 super方法和this类似:
a 表示调用父类的构造函数。也是一个特殊语法,不是变量,没有什么类型。
b 可以在一个类的非static成员内部使用。比如super.method()。
c super的另外一个作用是调用父类的protected函数。