1.继承可以使你定义一个通用的类(父类),之后扩充该类为一个更加特定的类(子类)。
子类从父类中继承可访问的数据域和方法,还可以添加新的数据域和新方法。
语法:public class Subclass extends Superclass;
2.父类中的私有数据域在该类之外是不可访问的,故不能在子类中直接使用,若父类中
定义了公共的访问器/修改器,那么可以通过这种方式来访问它们。
3.Java不允许多重继承,一个Java类只能直接继承自一个父类(单一继承 simple
inheritance),但多重继承可以通过接口来实现。
4.super关键字
1)super是指这个super关键字所在类的父类。
2)两种用途:
i.调用父类的构造方法;
语法:super(); 或 super(parameters);
必须出现在子类构造方法的第一行。
构造方法链:
如果没有显式调用重载的构造方法或父类的构造方法,编译器就会自动把
super()作为构造方法的第一条语句。
如 public ClassName(){
}
等价于public ClassName(){
super();
}
(这个过程可以链式传递至继承体系结构的做后一个构造方法被调用为止)
ii.调用父类的方法;
语法:super.methodName(parameters);
注:一般不需要加super,因为子类以及继承了父类的方法。但在方法重写的时候
若要调用父类方法,必须加super
方法重写(method overriding):需要在子类中使用和父类一样的签名及一样
的返回值类型。
使用重写标注来避免方法重写与方法重载的混淆错误:
重写标注@override 表示被标注的方法必须重写父类的一个方法,具有该标注
的方法没有重写父类的方法,编译器将报告一个错误。
5.要设计一个可被继承的类,最好提供一个无参构造方法,避免程序错误。
public class Apple extends Fruit{
}
class Fruit{
public Fruit(String name)
{
}
}
由于子类中没有显式定义的构造方法,故默认使用无参构造方法,但Fruit中没有定义
无参构造方法,故会出现编译错误。
java子类从父类继承某个属性,怎么添加特定的注解不影响父类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java子类从父类继承某个属性,怎么添加特定的注解不影响父类相关的知识,希望对你有一定的参考价值。
情况是这样的 比如类B继承类A 获得了属性name 我想给类B的属性name增加一个注解只针对类B ,比如类C继承类A的话就不影响
对啊,你在B类添加对name属性的注解是不会影响你的父类的,虽然说是这个属性是父类继承下来的。而你C类继承A类,B类什么操作是C类是不知道的,因为C类只和A类有关系,而和B是没有关系的,继承只是扩展不可能会修改父类的。 参考技术A 你的属性如果不是final,static类型应该是互不影响的吧。追问那我代码里面怎么写呢,eclipse子类里面是看不到父类属性
追答正常的就行了,正常的继承父类就可以了,父类当中不要出现public final static int a = 1;这样的这样定义的是常量,而 public static int a = 1;属于全局变量,像private int a ; public int a; 都是可以被继承,是不会影响的。
class B extends A class C extends A 就行了。
初学Java——类和方法继承
以上是关于java子类从父类继承某个属性,怎么添加特定的注解不影响父类的主要内容,如果未能解决你的问题,请参考以下文章