0
点赞
收藏
分享

微信扫一扫

【JAVA】继承:父类与子类的理解(实例)


一、父类与子类的一个实例

package HELLO;

//====================== 【Father类 - 父类】

class Father
{
public void print1() //
{
print2();
}
public void print2()
{
System.out.println("我是父类中的【print2】");
}
}

//====================== 【Sub类 - 子类】

class Sub extends Father
{
public void print1(int i) // 如果有参数,执行这个!如果没有参数,执行Father类中的print1()
{
System.out.println("我是子类中的【print1】");
}
public void print2()
{
System.out.println("我是子类中的【print2】");
}
}

//====================== 【demo类】

public class demo
{
public static void main(String[] args)
{
Father m_uuu = new Sub();// 如果与父类方法重名,显示子类优先
m_uuu.print1(); // 如果与父类方法重名,显示子类优先
}
}

显示的结果是: 我是子类中的【print2】

二、子类访问父类成员的方法(super)

1、访问父类构造方法

super(); // 无参数

super(name);   // 有参数

2、访问父类属性

super.name;

3、访问父类方法

super.print();

注意:以下方法是错误的。this和 super不能出现在main中

public static void main(String[] args) {
// System.out.print(super.uuu()); // 注意:this和 super不能出现在main中
}

【综合实例】:

1、Father.java 父类代码

package x_fengzhuang; // 这是包名,也是文件夹名,使用时需要改成你的文件夹名

import org.omg.CORBA.PUBLIC_MEMBER;

public class Father {

public String Name() // 父类方法,子类可以调用
{
return "诸葛亮";
}

public String Old() // public父类方法,子类可以调用
{
return "100岁";
}

private String s_Old() // private父类私有方法,子类不能调用
{
return "99岁";
}

public static void main(String[] args) {
}

}

2、Sub.java 子类代码

package x_fengzhuang;  // 这是包名,也是文件夹名,使用时需要改成你的文件夹名

public class Sub extends Father {

public String getName() {
return super.Name(); // 获取父类姓名:诸葛亮
}

public String getOld() {
return super.Old(); // 获取父类姓名:100岁
// return super.s_Old(); // s_Old用的是 private,父类私有方法,子类不能调用
}

public static void main(String[] args) {
// System.out.print(super.uuu()); // 注意:this和 super不能出现在main中
Sub aaa=new Sub();
System.out.print(aaa.getName());
System.out.print(aaa.getOld());
}
}








举报

相关推荐

0 条评论