想了半天终于想到一个好的例子,比书上的Person4什么好看多了,新手作品,仅供参考。
class Animal
{
public String name;
public int age;
public Animal(String name,int age)//构造方法
{
//注意eclipse或者sublime里面观察颜色
this.name = name;
this.age = age;
System.out.println("Animal构造方法完成");//这句话为什么没有输出?
}
}
class Fish extends Animal
{
String swim;
public Fish(String name,int age,String swim)
{
//子类继承父类构造方法要用super
super(name, age);
//下面的写法是错误的
//this.name=name;
//this.age=age;
//这样写也是错误的
//this.name=super.name;
//this.age=super.age;
this.swim=swim;
System.out.println("Fish 构造完成");
}
}
public class Show
{
public static void main(String[] args)
{
Animal dog=new Animal("dog",4);
Fish goldFish=new Fish("GoldFish",3,"I'm swimming");
System.out.println(dog.name+" "+dog.age);
System.out.println(goldFish.name+" "+goldFish.age+" "+goldFish.swim);
}
}
术语理解:
1.构造方法:与类同名,但是颜色在Eclipse和method颜色一样,没有返回值,你要是加了void,就不是构造函数了;
2.继承;子类继承父类的一些属性和方法,在构造函数上用super(参数),必须和父类保持参数的一致,最好都用上参数,不要去扣空参数;
3.this:this==当前的class