Java三大特点之继承

继承

继承就是子类继承父类的属性和行为,使子类具有父类的属性特征和行为,这样的目的是为了扩展父类,满足需要增强类的功能。继承又称类的派生,子类只能继承一个父类,而父类可派生多个子类。Java使用extends关键字来实现:

	public class A{//定义一个父类
		int x;
		void fx() {}
	}
	
	public class B extends A{//定义子类
		int y;
		void fy() {
			fx();//子类可直接使用父类中的成员变量和成员方法
		}
	}

继承————成员变量的关系:
如果父类的成员变量和子类的成员变量同名,查找使用的顺序为:子类局部范围 ——> 子类成员范围 ——> 父类成员范围

public class Fu {

	String name = "父类的成员变量";
	
}
public class Zi extends Fu{
	
	String name = "子类的成员变量";
	
	public void aa() {
		String name = "局部变量";
				
		System.out.println(name);
	}
	
}

继承对于同名变量在Java中是这样执行的,那么在实际中我们该怎么去区分他们呢?这就用到了this关键字和super关键字:

  • this:代表当前对象的引用
  • super:代表父类存储空间的标识

调用成员变量

  • this.成员变量 访问当前对象的成员变量
  • super.成员变量 调用父亲的成员变量

调用构造方法

  • this(…) 调用当前对象的构造方法
  • super(…) 调用父亲的构造方法

调用成员方法

  • this.成员方法 调用当前对象的成员方法
  • super.成员方法 调用父类的成员方法
//定义父类
public class Fu {

	String name = "父类的成员变量";

	public void aa() {
		System.out.println("父类的成员方法");
	}

}

//下面定义子类
public class Zi extends Fu {

	String name = "子类的成员变量";

	public void aa() {
		String name = "局部变量";
		System.out.println("子类的成员方法");
		System.out.println(name);
		System.out.println(this.name);
		System.out.println(super.name);
	}

}

继承————方法的重写:
在子类中定一个与父类方法名相同,返回值相同,参数列表相同,但方法体不同的方法,方法的重写是为了扩展父类的方法,实现父类不能完成的操作。

public class Fu {

	String name = "父类的成员变量";

	public void aa() {
		System.out.println("父类的成员方法");
	}
	
	public void bb(String name ) {
		name = this.name;
		System.out.println("我可用调用"+name);
	}

}
public class Zi extends Fu {

	String name = "子类的成员变量";

	public void aa() {
		String name = "局部变量";
		System.out.println("子类的成员方法");
		System.out.println(name);
		System.out.println(this.name);
		System.out.println(super.name);
	}

	public void bb(String name ) {
		name = super.name;
		System.out.println("我可用调用"+name);
		System.out.println("我是子类,我还可以使用"+this.name);//这一语句就是扩展内容,当然扩展不止输出语句,继承熟悉了能作其他用途
	}
}

学无止境。老狗在此欢迎各位大神指出鄙人之不足,提出你们宝贵意见。

  • 转载请注明出处。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值