测试java三大特性之一(继承)的代码
2011-06-18 11:26
387 查看
import static java.lang.System.out;
class Foundation {
String a = "Foundation class";
int b = 100;
public Foundation() {
out.println("这是父类的默认构造方法!");
}
public Foundation(String a,int b) {
this.a = a;
this.b = b;
}
public void setName(String a) {
this.a = a;
}
public void setNumber(int b) {
this.b =b;
}
public String getName() {
return a;
}
public int getNumber() {
return b;
}
}
public class InheritFound {
String a = "inherit class";
int b = 200;
public InheritFound() {
out.println("这是子类的默认构造方法,目的是测试子类继承父类隐式调用父类的构造器!");
}
public InheritFound(String a,int b) {
super("Hello,This a test!",1);
out.println("这里如果调用的是父类的属性的话,应该输出其String属性为"+super.a+", int属性为"+super.b);
this.a = a;
this.b = b;
out.println("子类的String属性:"+a);
out.println("子类的int属性:"+b);
}
public void setName(String a) {
this.a = a;
}
public void setNumber(int b) {
this.b = b;
}
public String getName() {
return a;
}
public String getNumber() {
return b;
}
public static void main(String[] args) {
InherFound i1 = new InherFound();//这个位置是否会输出"这是父类的默认构造方法!"这句,如果输出,那么子类默认构 造器内已隐式调用了父类的默认构造方法
InherFound i2 = new Foundation();//这个位置是否输出"这是父类的默认构造方法!",如果是,那么对象i2是否优先调用 父类的属性与方法呢?是否可以在这里添加这样的语句“i2.setName("这里调用的是 什么类的属性:");out.println(i2.getName());”
Foundation i3 = new Foundation();//是否可以在这里创建一个父类的对象?
}
}
class Foundation {
String a = "Foundation class";
int b = 100;
public Foundation() {
out.println("这是父类的默认构造方法!");
}
public Foundation(String a,int b) {
this.a = a;
this.b = b;
}
public void setName(String a) {
this.a = a;
}
public void setNumber(int b) {
this.b =b;
}
public String getName() {
return a;
}
public int getNumber() {
return b;
}
}
public class InheritFound {
String a = "inherit class";
int b = 200;
public InheritFound() {
out.println("这是子类的默认构造方法,目的是测试子类继承父类隐式调用父类的构造器!");
}
public InheritFound(String a,int b) {
super("Hello,This a test!",1);
out.println("这里如果调用的是父类的属性的话,应该输出其String属性为"+super.a+", int属性为"+super.b);
this.a = a;
this.b = b;
out.println("子类的String属性:"+a);
out.println("子类的int属性:"+b);
}
public void setName(String a) {
this.a = a;
}
public void setNumber(int b) {
this.b = b;
}
public String getName() {
return a;
}
public String getNumber() {
return b;
}
public static void main(String[] args) {
InherFound i1 = new InherFound();//这个位置是否会输出"这是父类的默认构造方法!"这句,如果输出,那么子类默认构 造器内已隐式调用了父类的默认构造方法
InherFound i2 = new Foundation();//这个位置是否输出"这是父类的默认构造方法!",如果是,那么对象i2是否优先调用 父类的属性与方法呢?是否可以在这里添加这样的语句“i2.setName("这里调用的是 什么类的属性:");out.println(i2.getName());”
Foundation i3 = new Foundation();//是否可以在这里创建一个父类的对象?
}
}
相关文章推荐
- java基础三大特性——封装、继承与多态
- java提高篇(二)-----理解java的三大特性之继承
- Java面向对象三大特性之继承
- java的三大特性--封装,继承,多态
- Java 浅析三大特性之一继承
- java面向对象的三大特性----封装、继承、多态
- java基础总结(二)-----》java三大特性/原则------继承
- java提高篇之理解java的三大特性——继承
- Java 三大特性之——继承
- Java 面向对象的三大特征:继承、封装【隐藏】、多态<为了适应需求的多种变化,使代码变得更加通用>
- Java学习第六课--面向对象的三大特性(封装、继承和多态)
- Java 7:最新特性、代码示例及性能测试
- Java的三大特性(继承、封装、多态)
- JAVA学习记录(三)面向对象编程三大特性之继承
- Java三大特性:封装,继承,多态
- Java 7:最新特性更新、代码示例及性能测试
- java-面向对象编程-三大特性之继承
- Java面向对象的三大特性 继承
- java三大特性之继承和多态
- Java三大特性---封装,继承,多态