学习时间:
2020-11-19
学习内容:
封装
A:封装概述
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
B:封装好处
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性。
C:封装原则
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
private
private关键字特点
a:是一个权限修饰符
b:可以修饰成员变量和成员方法
c:被其修饰的成员只能在本类中被访问
private最常见的应用:
(1):把成员变量用private修饰
(2):提供对应的getXxx()和setXxx()方法
演示
使用封装来完善树类
public class Test {
public static void main(String[] args) {
Tree tree = new Tree();
tree.setVariety("胡杨");
tree.setAge(30);
tree.setColor("绿色");
String variety=tree.getVariety();
int age=tree.getAge();
String color=tree.getColor();
System.out.println("这棵树的颜色是"+color);
System.out.println("这棵树的种类是"+variety);
System.out.println("这棵树的树龄是"+age);
}
}
public class Tree {
private String variety;
private int age;
private String color;
public void setVariety(String zl){
variety=zl;
}
public void setAge(int nl){
age=nl;
}
public void setColor(String ys){
color=ys;
}
public String getVariety(){
return variety;
}
public int getAge(){
return age;
}
public String getColor(){
return color;
}
}
this
A:为什么要有this
当我们的局部变量和成员变量相同的时候,如果我们不使用this关键字,那么会导致一个问题:就是局部变量隐藏了成员变量的问题
B:this关键字特点
是当前类的对象引用。
简单的记,它就代表当前类的一个对象。谁调用这个方法,那么该方法的内部的this就代表谁
C:this的应用场景
解决局部变量隐藏成员变量
演示:
把手机类的成员用private修饰,给出getXxx()/setXxx()方法
public class Tree1Test {
public static void main(String[] args) {
Tree1 tree = new Tree1();
tree.setVariety("胡杨");
tree.setAge(30);
tree.setColor("绿色");
String variety=tree.getVariety();
int age=tree.getAge();
String color=tree.getColor();
System.out.println("这棵树的颜色是"+color);
System.out.println("这棵树的种类是"+variety);
System.out.println("这棵树的树龄是"+age);
}
}
public class Tree2Test {
public static void main(String[] args) {
Tree1 tree = new Tree1();
tree.setVariety("胡杨");
tree.setAge(30);
tree.setColor("绿色");
String variety=tree.getVariety();
int age=tree.getAge();
String color=tree.getColor();
System.out.println("这棵树的颜色是"+color);
System.out.println("这棵树的种类是"+variety);
System.out.println("这棵树的树龄是"+age);
}
}