Java 面向对象02 封装 (黑马)

Java 面向对象02 封装 (黑马)_第1张图片

人画圆:画圆这个方法应该定义在园这个类里面。

Java 面向对象02 封装 (黑马)_第2张图片

人关门:是人给了门一个作用力,然后门自己关上了门,所以关门的方法是在门的类里面

Java 面向对象02 封装 (黑马)_第3张图片

封装对象的好处:

调用Java自带的方法举例实现:

Java 面向对象02 封装 (黑马)_第4张图片

Java 面向对象02 封装 (黑马)_第5张图片

Java 面向对象02 封装 (黑马)_第6张图片

Java 面向对象02 封装 (黑马)_第7张图片

在测试类中,对其赋值就会报错,只能在GirlFriend这个类里面赋值,不能直接的去调用

在主方法类中,不能直接访问和调用其他类中的private属性的变量。这是因为private属性的变量只能在定义它们的类中访问。但是可以通过提供公共的getter和setter方法来间接访问和修改private属性的变量。

在JavaBean类中,通常会为每个private属性提供一个公共的getter和setter方法。getter方法用于获取属性的值,setter方法用于修改属性的值。通过调用这些公共的getter和setter方法,可以在其他类中访问和修改private属性的变量。

例如,假设JavaBean类中有一个private属性的变量为name,可以通过以下方式在主方法类中调用它:

Java 面向对象02 封装 (黑马)_第8张图片

Java 面向对象02 封装 (黑马)_第9张图片

通过这种方式,可以访问和获取JavaBean类中的private属性的变量。

Java 面向对象02 封装 (黑马)_第10张图片

Java 面向对象02 封装 (黑马)_第11张图片

Java 面向对象02 封装 (黑马)_第12张图片

案例:

Java 面向对象02 封装 (黑马)_第13张图片

代码实现:将age设置为private属性,在main方法中就不能直接调用了

Java 面向对象02 封装 (黑马)_第14张图片

Java 面向对象02 封装 (黑马)_第15张图片

setName是有参无返回值的,void即可,不需要return;

Java 面向对象02 封装 (黑马)_第16张图片

getName是无参有返回值的,

Java 面向对象02 封装 (黑马)_第17张图片

Java 面向对象02 封装 (黑马)_第18张图片Java 面向对象02 封装 (黑马)_第19张图片

Java 面向对象02 封装 (黑马)_第20张图片

运行结果:

Java 面向对象02 封装 (黑马)_第21张图片

若对于age非法赋值,则:

Java 面向对象02 封装 (黑马)_第22张图片

Java 面向对象02 封装 (黑马)_第23张图片

Java 面向对象02 封装 (黑马)_第24张图片

你可能感兴趣的:(黑马Java,java,开发语言)