构造方法
构造方法是一种特殊的方法,其主要功能是用来创建对象时初始化对象,即为对象成员变量赋初始值。
构造方法与类名相同,可重载多个不同的构造方法。
package com.zjm.www.day10;
/**+
*
* 动物练习
* @author Zjm
*
*/
public class Ex_animal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal an1 = new Animal("兔子","草",5);
Animal an2 = new Animal();
Animal an3 = new Animal(an1,an2);
an2.all(an3);
}
}
class Animal{
String name;
String eat;
int weight;
public Animal() {
this.name = name;
this.eat = "猪蹄";
this.weight = 12;
}
public Animal(Animal a,Animal b) {
this.name = b.name;
this.eat = a.eat;
this.weight = b.weight;
}
public Animal(String name,String eat,int weight) {
this.name = name;
this.eat = eat;
this.weight = weight;
}
public Animal(String name,int weight) {
this.name = name;
this.weight = weight;
}
public void eat1() {
System.out.println("这个动物喜欢吃" + this.eat);
}
public void run() {
System.out.println("这个动物会跑");
}
public void all(Animal an) {
System.out.println("这是一只 " + this.name + ",它喜欢吃 " + an.eat + ",它重 " + an.weight +" 斤");
}
}
package com.lenovo.www.day10;
/**
* 测试类
*
* @author lenovo64
*这只小狗是小白,白色正在和那只小猫叫做小黑,黑色在打架
*获胜的动物是黑色
*/
public class Test {
public static void main(String[] args) {
Animal dog = new Animal("小黑", "小猫", "黑色");
Animal cat = new Animal("小白", "小狗", "白色");
String s = dog.play(cat, dog);
System.out.println("获胜的动物是" + s);
}
}
class Animal {
String name;
String kind;
int age;
String color;
long animalID;
String date;
public Animal(String name, String kind) {
this.name = name;
this.kind = kind;
}
public Animal(String name, String color, String kind) {
this.name = name;
this.color = color;
this.kind = kind;
}
public Animal(String name, int age, long animalID) {
this.age = age;
this.animalID = animalID;
}
public String play(Animal dog, Animal cat) {
System.out.println("这只" + dog.color + "是" + dog.name + "," + dog.kind + ",正在和那只" + cat.color + "叫做" + cat.name
+ "," + cat.kind + ",在打架");
return cat.kind;
}
}