整理笔记--Java基础(二)

数据分析侠 2018-03-14

面向对象:

封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

权限修饰符:

this和super的区别:

1.this代表的是本类对象的引用 ,可以调用本类中的成员和构造方法,也可以调用父类中的成员(当本类中没有的时候)。

2.super代表的是父类空间的引用,只能调用父类中的成员和构造方法。

注意事项:

this和super只能在构造方法的第一个语句中调用,且不能同时存在。

在继承中构造方法的特点:

子类中的所有构造方法都会默认访问父类中的空参构造方法:super()。

如果在继承时父类中没有空参构造方法怎么办?

使用super()指定访问父类中的有参构造,把具体的参数传递给父类。

final:

修饰类,类不可被继承。

修饰方法,方法不可被重写。

修饰变量,变量变为常量,只能赋值一次。

final修饰局部变量:

1.如果局部变量是基本类型,它的值是不能变的。

2.如果局部变量是引用类型,它的地址值不能变,但是该对象中的内容是可以变化的。

final修饰变量的初始化时机:

1.在定义常量的时候直接显示初始化,final int x = 10。

2.在对象创建完毕之前完成初始化(在构造方法里面和构造代码块里)。

注意事项:

1.上面两张初始化方式不能同时进行。

2.当final修饰成员变量时,系统默认的初始化是无效的。

假设系统默认的初始化值是有效的,那么就代表引用数据类型默认的初始化值是null。但是被final修饰的变量,只能被赋值一次。那么,在使用该引用数据类型的变量时,只能使用null了,这样没有意义。

局部变量和成员变量的区别:

1.成员变量直接定义在类中,在类中有效。局部变量定义在方法中,参数上,语句中。在所属大括号有效。

2.成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

3.成员变量有默认的初始化值,其中引用数据的初始化值为null。局部变量没有默认的初始化值,使用前必须赋值。

静态变量和成员变量的区别:

1.成员变量所属于对象,所以也称为实例变量。静态变量所属于类,所以也称为类变量。

2.成员变量存在于堆内存中。静态变量存在于方法区中。

3.成员变量随着对象创建而存在,随着对象被回收而消失。静态变量随着类的加载而存在,随着类的消失而消失。

4.成员变量只能被对象所调用 。静态变量可以被对象调用,也可以被类名调用。

所以,成员变量可以称为对象的特有数据,静态变量称为对象的共享数据。

static:

1.修饰成员变量和成员方法

2.静态代码块

相关推荐