Java面向对象
第二章 面向对象进阶
2.1.1成员变量的概述:
变量可分为成员变量和局部变量,成员变量是在类范围内定义的变量,局部变量是在方法中定义的变量,Java程序中的变量划分如图所示。
2.1.2成员变量的使用 :
[修饰符] [static] [final]<变量类型><变量名>
2.2 this 关键字
Java提供了一个this关键字,this关键字总是指向调用该方法的对象
2.3 隐藏和封装
2.3.1封装的概念
现实生活中,封装的例子随处可见,比如药店出售的胶囊类药品,我们只看得到胶囊,却看不到胶囊里面有什么。
对一个类或对象实现良好的封装,可以实现以下目的:
(1)隐藏类的实现细节
(2)让使用者值通过实现预定的方法访问数据,从而可以在该方法中加入控制逻辑,限制对象属性不合理访问
(3)可进行数据检查,有利于保证对象信息完整性
(4)便于修改,提高代码可维护性
实现良好的封装,从如下两个方面考虑:
(1)隐藏对象的属性和实现细节,不允许外部直接访问
暴露出方法,让方法控制对这些属性进行安全的访问和操作
2.3.2 使用访问控制符
private只是Java访问修饰符的一种,除此之外,Java还提供default、protected和public 如下图所示
2.4 static关键字
2.4.1 静态成员变量
类的成员变量包含静态变量(也称类变量)和实例变量。
本章小结:在学习第二章时主要掌握
1、比较成员变量和局部变量的区别?
2、简述this关键字的含义和用法
3、按优先级列出访问控制修饰符
4、简述static关键字的含义和用法
个人课后练习
目的:如何白嫖舍友
新建一个白嫖类
public class 白嫖类 {
private String zhuangtai;
private String name;
private int num;
public void zhuangtai1 (String zhuangtai ,String name,int num) {
this.zhuangtai = zhuangtai;
this.name = name;
this.num = num;
System.out.println("佑铭白嫖了穿着"+this.zhuangtai+"的"+this.name+",他正在享受第"+this.num+"的快感");
}
再创建一个白嫖对象
package java面向对象;
import java.util.Scanner;
public class 白嫖对象 {
public static void main(String[] args) {
白嫖类 bp = new 白嫖类();
System.out.println("请依次输入他的穿着,姓名,和次数");
Scanner shuru = new Scanner(System.in);
bp.zhuangtai1(shuru.next(), shuru.next(), shuru.nextInt());
}
}
最后这是运行操作和结果
在使用封装类时候,就是简单的将传参的数赋值给封装的那个 private 开头的那个值里面
这个结果很有趣,对就这样