封装 防止实例变量的值被随意设置 对象 the Cat的 实例变量 height theCat height=27 通过引用可以访问对象的变量或 者调用对象的方法 被设置 theCat height=0 没有任何限制的访问权限造成 height被置0,或者为负数。 public void setHeight(int ht) 通过强制的方法,让用户只 if(ht>9)i 能通过 setHeight方法来设 height= ht 置实例变量,可以确保任何 不合理的值被排除掉
封装 防止实例变量的值被随意设置 theCat. height=27 通过引用可以访问对象的变量或 者调用对象的方法 theCat. height=0 对象theCat的 实例变量height 被设置 没有任何限制的访问权限造成 height被置0,或者为负数。 public void setHeight(int ht){ if(ht>9) { height= ht; } } 通过强制的方法,让用户只 能通过setHeight方法来设 置实例变量,可以确保任何 不合理的值被排除掉
封装的方法 使用访问修饰符( access modifier) public private 尽量让实例变量 private,并提供pub|ic的 getter& setter
封装的方法 使用访问修饰符(access modifier): public & private 尽量让实例变量private, 并提供public的getter&&setter
封装 例子 class Dog i prⅳ vate int size; public int getSize return size 1 public void setsize(int s)i size=s: 1 void barko t if( size>60 System. out. printIn(wof) else System. out. printIn(yep")
封装 例子 class Dog { private int size; public int getSize() { return size;} public void setSize(int s) { size=s;} void bark() { if( size>60) System.out.println(“wwof”); else System.out.println(“yep”); } }
class Dog TestDrive I class Dog TestDrive I public static void main(String[] args)f public static void main(String[] args)( Dog d=new Dogo Dog d=new Dogo d size=40 d setsize(40) d barko System. out. println(Dog 1:+ d. getSizeo) d barko
class DogTestDrive { public static void main(String[] args) { Dog d=new Dog(); d.size=40; d.bark(); } } class DogTestDrive { public static void main(String[] args) { Dog d=new Dog(); d.setSize(40); System.out.println(“Dog 1: “+ d.getSize()); d.bark(); } }
nstance variables 声明和初始化 name type 对于局部变量声明 sIze String name 初始化 int size=10; String name="DL 使用 System. out. println(“ SIze Is“+size); 在使用变量之前必 size=10 须初始化或者变量 System. out. println(size is"+size): 被赋值
instance variables 声明和初始化 对于局部变量 int size; String name; name type int size=10; String name=“DL”; 声明 初始化 System.out.println(“size is “+size); size=10; System.out.println(“size is” +size); 在使用变量之前必 须初始化或者变量 被赋值。 使用