类之间常见的关系主要有三种:
a. 依赖(“user-a”)如果一个类的方法操纵另一个类的对象,就说一个类依赖于另一个类。ps:尽量减少这种依赖关系,越少,证明其中一个类的改变对另一个类造成的bug就越少
b. 聚合(“has-a”)类A的对象包含类B的对象
c.继承(“is-a”)类A扩展类B,则类A中不但有一些类B的方法,还会有一些类B没有但类A独有的方法。
--------------------------
首先要使用一个对象的话,必须要先a.构造对象 b.设定对象的状态 c.进行对象的行为等操作
对应a,通过构造器(constructor,用于构造并初始化对象)构造新的对象实例
Date ndate = new Date();
1 import java.time.*; 2 public class EmployeeTest 3 { 4 public static void main(String[] args) 5 { 6 //初始化 7 Employee[] staff = new Employee[3]; 8 staff[0] = new Employee("wang", 7000, 2017, 12, 29); 9 staff[1] = new Employee("li", 9000, 2014, 01, 20); 10 staff[2] = new Employee("han", 12000, 2015, 04, 19); 11 // 对象行为 12 for(Employee e:staff) 13 { 14 e.raiseSalary(10); 15 } 16 for(Employee e:staff) 17 { 18 system.out.println("name = " + e.getName() + "salay = " + e.getSalary() + "hireDay = " + e.getHireDay()); 19 } 20 } 21 } 22 23 class Employee 24 { 25 //实例域 26 private String name; 27 private double salary; 28 private localDate hireDay; 29 30 //构造方法 31 public Employee(String n, double s, int year, int month, int day) 32 { 33 name = n; 34 salary = s; 35 hireDay = LocalDate.of(year, month, day); 36 } 37 // 方法 38 public String getName() 39 { 40 return name; 41 } 42 public double getSalary() 43 { 44 return salary; 45 } 46 public LocalDate getHireDay() 47 { 48 return hireDay; 49 } 50 public void raiseSalary(double byPercent) 51 { 52 double raise = salary*(byPercent/100); 53 salary += raise; 54 } 55 }
举例如下:ndate就是对象变量,但不是对象,也没有引用对象,相关的Date方法还不能应用于ndate上。
一个对象变量并没有包含一个对象,而是引用一个对象。
任何对象变量的值都是对存储在另一个地方的一个对象的引用,包括new 操作符也是返回的一个引用。
可以显示的将对象变量设定为null
Date ndate; Date birthday = new Date();
ndate = birthday //引用
ndate = new Date();//初始化
如对本文有疑问, 点击进行留言回复!!
网友评论