Java中的继承

                                                                             继承


     Java是纯面向对象的程序设计语言,所有的代码都包含在类中,所以了解类的四种基本特点对我们来说非常重要,即:继承、封装、多态和抽象,今天主要说一下类的继承。
   被继承的类一般被称为“超类”或“父类”,继承的类被称为“子类”,子类默认拥有父类的类体,在此基础上,子类还可以添加新的成员或修改继承了的方法,以满足新的需求。 Java中,实际上所有的类均直接或间接地继承自java.lang.Object类,也可以说Object类是Java中的总根类。当需要某个类继承自指定类时,将使用extends关键字,具体语法如下:
            class 子类名 extends 父类名

            {子类类体}

例如:

<span style="font-size:18px;">//交通工具类
class Vehicle{}
//汽车类,继承自交通工具类
class Car extends Vehicle{}
//卡车类,继承自汽车
class Truck extends Car{}</span>


        当两个类有了继承与被继承的关系后,就会涉及成员变量的继承问题,父类成员变量能否被继承,完全取决于成员变量的访问限制,成员的访问限制级由访问修饰符确定,访问级别共有四种,分别是:公有(public)、私有(private)、默认(不写)和保护(protected)。

        对于子类,如果其父类的成员声明为public类型,那么无论这两个类是否在同一个包中,子类均能继承父类的该成员;当成员变量声明为private类型时,任何子类均不能继承该成员;protected类型和默认类型只有在谈论继承时才有区别,该区别为:当成员变量被protected修饰时,若访问该变量的类位于包外,则只有通过继承才能访问该变量。总结如下:

                                                                                                       访问权限


当前类当前包包外子类包外
public可以访问可以访问可以访问可以访问
protected可以访问可以访问可以访问
默认可以访问可以访问

private可以访问



     super

     对于成员变量来说,当子类具有名称与其父类的成员变量名称相同的成员变量时,在子类调用此名称的成员变量时,调用的将会是子类中本身具有的,而不是从父类继承的,

<span style="font-size:18px;">//父类
class Father
{
	String s="父类的成员变量";
}
//子类
class Son extends Father
{
	String s="子类的成员变量";
	public void show()
	{
		System.out.print("这里调用的是"+s);
		System.out.println("这里调用的是"+super.s);
		
	}
}
public class Sample1 
{
	
	public static void main(String[] args) 
	{
		//创建对象调用方法
		Son s=new Son();
		s.show();
	}

}</span>
第一次输出的是子类中的字符串s,而第二次输出的是父类中的字符串s。父类中的成员对子类来说是可继承的,只是由于名称相同,所以父类中的成员被隐藏起来了。在子类中使用super关键字,便可访问父类的该变量。super和this一样,是一个预定义对象引用,它只能在子类中使用,用来访问父类成员。

       final

       当一个类被final修饰时,就表示该类不能再被继承,即使该类的访问限制为public类型的,也不能被访问。因此,只有当需要确保类中的方法都不要被重写改进时才应该用final修饰,。String类就是一个被final修饰的最终类,所以它不能被自由继承。final还可以用来修饰类中的方法。当一个类中的方法被final修饰时,就表示这个方法不能被子类重写,只能继承。


                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值