nstance variables 声明和初始化 对于实例变量 public class Dog TestDrive I public static void main(String[] args) class PoorDog i Dog d=new Dogo; private int size System. out printIn(“ Dog size is“ public int getSizeo t + d. getsizeo return sIze, 返回的值是多少?
instance variables 声明和初始化 对于实例变量 class PoorDog { private int size; public int getSize() { return size; } } public class DogTestDrive { public static void main(String[] args){ Dog d=new Dog() ; System.out.println(“ Dog size is “ + d.getSize() ; } 返回的值是多少?
nstance variables 声明和初始化 实例变量总会得到一个缺省的值: integers 0 floating points 0.0 booleans false references null 但是,局部变量是没有缺省值的,它 们必须保证先得到一个值!
instance variables 声明和初始化 实例变量总会得到一个缺省的值: integers 0 floating points 0.0 booleans false references null 但是,局部变量是没有缺省值的,它 们必须保证先得到一个值!
构造器和初始化 object creation ①声明一个引用变量 Dog my Dog Do 虚拟机为该变量分配空间,并命名为myDg 对象是怎样被创建的? ②创建一个对象 Dog my Dog=new Dogo; 虚拟机在堆中为新的Dog对象分配空间 ③将该对象与引用连接起来。 g myDog=new Dogo 现在可以通过这个引用 my Dog远程控制该Dog对象
构造器和初始化 object creation 声明一个引用变量 Dog myDog = new Dog(); 虚拟机为该变量分配空间,并命名为myDog。 创建一个对象 Dog myDog=new Dog(); 虚拟机在堆中为新的Dog对象分配空间 将该对象与引用连接起来。 Dog myDog=new Dog(); 现在可以通过这个引用myDog远程控制该Dog对象 1 2 3 对象是怎样被创建的?
构造器和初始化 object creation 类似于一个方法调用 Dog myDog=new Dogo 注意这实际并不是方法,而是调用了Dog类的构造 器( Constructor): 当你说new时,它启动一段特定的代码
构造器和初始化 object creation Dog myDog=new Dog(); 类似于一个方法调用 注意这实际并不是方法,而是调用了Dog类的构造 器(Constructor): 当你说new时,它启动一段特定的代码
构造器和初始化 Every class has at least a constructor 构造器在哪儿? 一自己编写,或者 如果不提供,编译器会提供一个缺省构造器: public Dogo t //constructor code here 注意到它与 method的区别了吗?
构造器和初始化 Every class has at least a constructor 构造器在哪儿? ---自己编写,或者 如果不提供,编译器会提供一个缺省构造器: public Dog() { //constructor code here } 注意到它与method的区别了吗?