封装:主要用于将类中的成员名(类变量)通过 private关键字进行访问权限的设定,使用 private后,成员变量只能在当前类中进行访问,超过该类时访问提示不存在,当然也可以用于方法中,但较少。如果要在其它类中访问该成员变量时,必须要通过公共的方法(public) 间接去访问或者设置成员变量值。
this:该关键字表示哪个对象名调用成员变量时,this就代表哪个对象名。简单理解为比如同一个类,同时创建了两个不同的对象(对象名称不一样,e.g:对象 A、对象B),如果对象A调用该对象里面的成员变量时,那么this就代表对象A,同理如果对象B调用该对象里面的成员变量是地,那么this就代表对象B。
1 package debug; 2 3 import java.util.Scanner; 4 5 class Phone{ 6 private String brand; 7 private int price; 8 private String color; 9 10 public String getBrand() { 11 return brand; 12 } 13 14 public void setBrand(String brand) { 15 this.brand = brand; 16 } 17 18 public int getPrice() { 19 return price; 20 } 21 22 public void setPrice(int price) { 23 this.price = price; 24 } 25 26 public String getColor() { 27 return color; 28 } 29 30 public void setColor(String color) { 31 this.color = color; 32 } 33 } 34 35 36 37 public class Demo13 { 38 public static void main(String[] args) { 39 Scanner sc = new Scanner(System.in); 40 Phone p = new Phone(); 41 System.out.println(p.getBrand() + "-----" + p.getPrice() + "------" + p.getColor()); 42 System.out.println("请输入手机品牌名:"); 43 String brand = sc.nextLine(); 44 p.setBrand(brand); 45 System.out.println("请输入手机颜色:"); 46 String color = sc.nextLine(); 47 p.setColor(color); 48 System.out.println("请输入手机价格:"); 49 int price = sc.nextInt(); 50 p.setPrice(price); 51 System.out.println(p.getBrand() + "-----" + p.getPrice() + "------" + p.getColor()); 52 } 53 54 }