package extendstype;
public class TestDog {
public static void main(String[] args) {
Dog s = new Dog();
s.setAge(10);
s.setName("二狗");
s.setHostName("二哥");
System.out.println("name:"+s.getName()+
",age:"+s.getAge()+
",hostName:"+s.getHostName());
System.out.println(s.toString());
}
}
//生物
class Creator{
private int age;
public Creator() {
super();
System.out.println("这是Creator的构造器");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
//动物类
class Animal extends Creator{
private String name;
public Animal() {
super();
System.out.println("这是Animal的构造器");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name
= name;
}
}
//小狗
class Dog extends Animal{
private String hostName;
public Dog() {
super();
System.out.println("这是Dog的构造器");
}
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
}
public class TestDog {
public static void main(String[] args) {
Dog s = new Dog();
s.setAge(10);
s.setName("二狗");
s.setHostName("二哥");
System.out.println("name:"+s.getName()+
",age:"+s.getAge()+
",hostName:"+s.getHostName());
System.out.println(s.toString());
}
}
//生物
class Creator{
private int age;
public Creator() {
super();
System.out.println("这是Creator的构造器");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
//动物类
class Animal extends Creator{
private String name;
public Animal() {
super();
System.out.println("这是Animal的构造器");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name
= name;
}
}
//小狗
class Dog extends Animal{
private String hostName;
public Dog() {
super();
System.out.println("这是Dog的构造器");
}
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
}
/*
* super:可以用来修饰属性、方法、构造器
* 1.当子类父类中有同名的属性时,可以通过“super.属性”显示地调用父类中声明的属性
* 若想调用子类的同名属性时,可以通过“this.属性”即可
* 2.当子类重写父类的方法以后,在子类中若想再显示地调用父类的被重写的方法,
* 就需要使用“super.方法”
* 3.super修饰构造器:通过在子类中使用“super(形参列表)”来显示地调用父类中指定的
* >在构造器内部,“super(形参列表)”必须要声明在首行
* >在构造器内部,“this(形参列表)”或“super(形参列表)”只能出现一个
* >当构造器中不显示地调用“this(形参列表)”或“super(形参列表)”中任何一个
* 默认调用的是父类空参的构造器
* 建议:在设计一个类时,尽量要提供一个空参的构造器
*/
* super:可以用来修饰属性、方法、构造器
* 1.当子类父类中有同名的属性时,可以通过“super.属性”显示地调用父类中声明的属性
* 若想调用子类的同名属性时,可以通过“this.属性”即可
* 2.当子类重写父类的方法以后,在子类中若想再显示地调用父类的被重写的方法,
* 就需要使用“super.方法”
* 3.super修饰构造器:通过在子类中使用“super(形参列表)”来显示地调用父类中指定的
* >在构造器内部,“super(形参列表)”必须要声明在首行
* >在构造器内部,“this(形参列表)”或“super(形参列表)”只能出现一个
* >当构造器中不显示地调用“this(形参列表)”或“super(形参列表)”中任何一个
* 默认调用的是父类空参的构造器
* 建议:在设计一个类时,尽量要提供一个空参的构造器
*/