「java继承隐藏」java中继承

博主:adminadmin 2023-01-18 16:00:09 740

今天给各位分享java继承隐藏的知识,其中也会对java中继承进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

在JAVA子类一旦重写了继承的方法,就会隐藏继承的方法.是这样吗?

Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以分隔符先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。

特点:

(1)继承关系是传递的。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。

(2)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。

(3)继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。

(4)继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。

(5)提供多重继承机制。从理论上说,一个类可以是多个一般类的特殊类,它可以从多个一般类中继承属性与方法,这便是多重继承。Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。

所以你的理解也是可以的,是覆盖了父类的方法。也可以叫屏蔽了父类的方法。

有人可以告诉我JAVA中子类继承父类中,什么叫做子类方法的隐藏,重载和隐藏?

一、重载(overload)

方法重载就是一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或者不同的参数个数。重载与返回值的类型和修饰符无关。

[java] view plain copy

class test{

public int fun(int a){}

public string fun(string a){}

public float fun(int a,string b){}

public float fun(string a,int b){}

void string fun(float a){}

void string fun(int a){}//该方法不是重载

}

前五个方法互为重载方法,第一个和第六个不是重载方法(虽然两个方法的返回值类型不同,但两个方法的名字相同,参数个数和参数类型都相同)。所以重载方法的返回值类型不一定相同,方法名一定相同,参数类型或个数一定不同。

二、重写(override)

当子类继承父类,子类中方法的名称,参数类型,参数个数与父类中的方法都完全一致,则认为子类中的方法重写了父类中的方法。

[java] view plain copy

public class Parent {

public void fun1(int i){

/*do something...*/

}

public String fun2(){

return "parent";

}

}

public class Child extends Parent{

public void fun1(int i){

/*do other something...*/

}

public String fun2(){

return "child";

}

}

重写的规则:

(1)重写方法不能比被重写方法限制更严格的访问级别,即访问权限可以是扩大但不能缩小父类与子类的访问权限可以是public和public,protected和protected,protected和public,但不能是public和protected。

(2)标识为final的方法不能被重写,静态方法不能被重写。

(3)重写方法的返回类型必须与被重写方法的返回类型相同

(4)重写方法的参数列表必须与被重写方法的参数列表相同。

(5)重写方法不能抛出新的异常,或者比被重写方法声明的检查异常更广的检查异常,但可以抛出更少或者不抛出异常。

(6)抽象方法必须在具体类中被重写。

三、隐藏()

隐藏发生在子类与父类之间,隐藏是针对父类中的成员变量和静态方法而言。当子类声明了与父类相同的变量名的变量时就实现了对父类成员变量的隐藏。当子类声明了与父类的静态成员方法中相同方法名,相同参数列表和相同返回类型的方法,则实现了对父类静态方法的隐藏。

原则:静态方法被隐藏,实例方法被覆盖(重写),父类中的成员变量能够被子类中的同名变量隐藏,但局部变量和形参不会被隐藏。

java里隐式继承说的是什么?

java中的继承,子类可以从父类继承所有的属性和方法,无论访问修饰符是private或是其他,都会被子类继承,但是因为访问修饰符的限制,导致在子类中无法直接访问到继承过来的private属性和方法

java继承隐藏的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中继承、java继承隐藏的信息别忘了在本站进行查找喔。