一、今天学了什么
1.封装性的体现:
(1)将类的属性私有化,同时,提供公共的方法来获取(get)和设置(set)该属性的值;
(2)不对外暴露私有的方法;
(3)单例模式(后续学习)。
2.对权限修饰的理解:
权限从小到大:private、缺省(default)、protected、public
pubic、protected、private置于类成员的定义之前
注意:对class的权限修饰只可以用public和default(缺省)。
public类可以在任何地方被访问。
default类只可被同一包内的类访问。
二、出现的问题:
1.
报错:
void 对于showPerson是无效变量
解决方法:将主方法中所有对PersonTest类声明和初始化的部分放到PersonTest类中。
2.静态方法访问非静态成员的问题:
问题原因:对于static修饰的方法而言,可以使用类来直接调用该方法,如果在static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象。所以,static修饰的方法中不能使用this 引用。由于static修饰的方法不能使用this 引用,所以static修饰的方法不能访问不使用static修饰的普通成员,因此Java语法规定:静态成员不能直接访问非静态成员。
(转载至CSDN博主,原文链接:https://blog.csdn.net/beyong_78439/article/details/94451477)
解决方法:使用匿名对象的方式实现类的实例化以实现调用目的