class Member{
private String name;
private int age;
private Member child;
private Car car;//一个人只能有一辆车
public Member(String name,int age){
this.name = name;
this.age = age;
}
public void setChild(Member child){
this.child = child;
}
public Member getChild(){
return this.child;
}
public void setCar(Car car){
this.car = car;
}
public Car getCar(){
return this.car;
}
public String getMemberInfo(){
return "[Member]name=" + this.name +",age =" +this.age;
}
}
class Car{
private String name;
private double price;
private Member member;
public Car(String name,double price){
this.name = name;
this.price = price;
}
public void setMember(Member member){
this.member = member;
}
public Member getMember(){
return this.member;
}
public String getCarInfo(){
return "[Car]name=" + this.name +",price =" +this.price;
}
}
public class Day03 {
public static void main(String[] args) {
//第一步:根据关系设置相应的数据
//1.分别创建各自对象的实例
Member mem =new Member("贺浩",19);
Car car = new Car("奔驰",500000);//你的车
Member chd = new Member("小贺",3);
Car cc = new Car("quattro",111);
//2.设置对象间的引用关系
mem.setCar(car);//一个人有一辆车
mem.setChild(chd);//表示一个人有一个孩子
chd.setCar(cc);//孩子的车
car.setMember(mem);//一辆车属于一个人
//第二部:根据关系取出数据
//3.通过人可以找到车
System.out.println(mem.getMemberInfo());
System.out.println(mem.getCar().getCarInfo());
//4.通过车找到人
System.out.println(car.getMember().getMemberInfo());
//5.通过人找到他的孩子
System.out.println(mem.getChild().getMemberInfo());
//6.通过人找到他孩子的车
System.out.println(mem.getChild().getCar().getCarInfo());
}
}
调用方法的三种形式
-
直接调用:直接写方法名调用
public static void main(String[] args) { print(); } public static void print() { System.out.println("方法被调用"); }
-
赋值调用:调用方法,在方法前面定义变量,接收方法返回值
public static void main(String[] args) {
int sum = getSum(5,6);
System.out.println(sum);
}
public static int getSum(int a,int b) {
return a + b;
}
- 输出语句调用:
- 在输出语句中调用方法, System.out.println(方法名()) 。
public static void main(String[] args) {
System.out.println(getSum(5,6));
}
public static int getSum(int a,int b) {
return a + b;
}
-
不能用输出语句调用 void 类型的方法。因为方法执行后没有结果,也就打印不出任何内容。
public static void main(String[] args) { System.out.println(printHello());// 错误,不能输出语句调用void类型方法 } public static void printHello() { System.out.println("Hello"); }
-
方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返 回值类型无关。
-
参数列表:个数不同,数据类型不同,顺序不同。
-
重载方法调用:JVM通过方法的参数列表,调用不同的方法。
-