java基础之【继承】
2017-12-06 18:39
113 查看
个人总结:
1、继承用于实现多态
2、继承时父类不可以转为子类,子类可以转为父类。可以理解为妻子为一个人,但一个人不一定是妻子。
3、子类的无参构造方法默认调用super()方法,即默认调用父类的无参构造函数;
子类的有参构造函数也默认调用super()方法;
super(str)方法时,即调用有参的构造方法;
实例如下:其中Person为父类,Wife为Person的子类,Son 为Wife的子类;
package testJava.testJC;
/**
* 测试继承:
*
* @author sj
*
*/
public class Person {
private String name;//姓名
private int age; //年龄
private String sex; //性别
private int height; //身高
Person(){
System.out.println("Person...");
}
Person(String str){
System.out.println("带参数的Person..."+str);
}
public String printStr(){
return "名为"+name+"的是"+sex+"性";
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setHeight(int height) {
this.height = height;
}
public int getHeight() {
return height;
}
}
1、继承用于实现多态
2、继承时父类不可以转为子类,子类可以转为父类。可以理解为妻子为一个人,但一个人不一定是妻子。
3、子类的无参构造方法默认调用super()方法,即默认调用父类的无参构造函数;
子类的有参构造函数也默认调用super()方法;
super(str)方法时,即调用有参的构造方法;
实例如下:其中Person为父类,Wife为Person的子类,Son 为Wife的子类;
package testJava.testJC;
/**
* 测试继承:
*
* @author sj
*
*/
public class Person {
private String name;//姓名
private int age; //年龄
private String sex; //性别
private int height; //身高
Person(){
System.out.println("Person...");
}
Person(String str){
System.out.println("带参数的Person..."+str);
}
public String printStr(){
return "名为"+name+"的是"+sex+"性";
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setHeight(int height) {
this.height = height;
}
public int getHeight() {
return height;
}
}
package testJava.testJC; /** * 测试证明: * 1、子类可以转化为父类 * 2、父类不可以强制转化为子类 * 3、实例化子类时自动调用父类的无参构造函数 * 4、子类有参的构造函数中调用super(str),即有参的super()方法,会调用父类的含参的构造函数 * @author Administrator * */ public class Wife extends Person{ private String relation; Wife(){ System.out.println("Wife..."); } Wife(String str){ // super();//默认调用父类的无参的构造函数 super(str);//调用父类含参的构造函数 System.out.println("带参数的Wife..."+str); } public String printStr(){ setName("小徐"); setSex("男"); return super.printStr()+"哈哈"; } public void setRelation(String relation) { this.relation = relation; } public String getRelation() { return relation; } public static void main(String[] args) { /*Person p=new Person(); p.setAge(20); System.out.println("Person的年龄为"+p.getAge()+"周岁"); Wife wife=new Wife(); wife.setAge(30); System.out.println("妻子的年龄为"+wife.getAge()+"周岁"); Person p1=new Wife(); p1.setAge(40); System.out.println("Person1的年龄为"+p1.getAge()+"周岁");*/ // Person p2=new Person("春娇"); Wife wife2=new Wife("春娇"); // Person p3=new Wife("春娇"); wife2.setAge(30); System.out.println(wife2.printStr()); } }
package testJava.testJC; /** * 子类可以转化为父类; * 子孙类也可以转化为祖孙类; * @author Administrator * */ public class Son extends Wife{ Son(){ System.out.println("Son..."); } Son(String str){ System.out.println("Son..."+str); } public static void main(String[] args) { Wife wife=new Son(); Person p1=new Son(); } }
相关文章推荐
- Java基础--封装、继承、多态
- JAVA基础(2):继承
- Java基础知识回顾之三 ----- 封装、继承和多态
- 程序员——java基础之继承
- 2018/01/07JAVA 基础 / 接口与继承:用引用调用类方法的陷阱警惕
- 2018/01/08JAVA 基础 / 接口与继承:[Q]:若父类Hero提供了一个有参的构造方法,但是没有提供无参的构造方法。子类应该怎么处理?
- 黑马程序员——Java基础--继承
- Java基础08 继承
- java基础--继承下:抽象与接口
- Java基础_super()用法和继承的关系
- Java基础10 接口的继承与抽象类
- java基础--类与对象(继承与接口应用)
- Java基础-继承、重写、多态详解
- java基础十二 面向对象特点_继承
- java基础--静态(函数、代码块)、单例设计模式、继承、final修饰符
- JAVA基础笔记(复习)- 继承
- 黑马程序员——java基础之继承
- Java基础笔记-继承、抽象类、接口、多态、内部类、异常
- 1.Java基础-面向对象编程思想(封装继承多态接口)
- Java基础10 接口的继承与抽象类