一、今天学了什么

1.封装性的体现:

(1)将类的属性私有化,同时,提供公共的方法来获取(get)和设置(set)该属性的值;

(2)不对外暴露私有的方法;

(3)单例模式(后续学习)。

2.对权限修饰的理解:

权限从小到大:private、缺省(default)、protected、public

pubic、protected、private置于类成员的定义之前

Java学习第八天_初始化

 

注意:对class的权限修饰只可以用public和default(缺省)。

public类可以在任何地方被访问。

default类只可被同一包内的类访问。

 二、出现的问题:

1.

Java学习第八天_解决方法_02

 

 报错:

void 对于showPerson是无效变量

解决方法:将主方法中所有对PersonTest类声明和初始化的部分放到PersonTest类中。

 

 2.静态方法访问非静态成员的问题:

Java学习第八天_主方法_03

 

问题原因:对于static修饰的方法而言,可以使用类来直接调用该方法,如果在static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象。所以,static修饰的方法中不能使用this 引用。由于static修饰的方法不能使用this 引用,所以static修饰的方法不能访问不使用static修饰的普通成员,因此Java语法规定:静态成员不能直接访问非静态成员。

 解决方法:使用匿名对象的方式实现类的实例化以实现调用目的