继承
来源:互联网 发布:哪有学java的学校 编辑:程序博客网 时间:2024/05/23 00:24
理解继承的概念
父类:被继承的类叫父类
子类:继承父类的类叫子类
(父类,子类是相对的。)
在继承中子类将获得父类的属性和方法,同时子类也可以定义自己的属性和方法。继承可以提高代码的重用性。
注意:在C++等编程语言中存在多继承,但是Java中没有多继承(A不能同时继承B,C),但是Java可以有多重继承。
掌握继承的语法
语法:
class 子类 extends 父类{
代码块;
}
eg:
public class A{
public int a;
public void a(){
System.out.println(a);
}
}
public class A extends a{
public int b;
public void b(){
System.out.println(b);
}
}
public class C extends B{
public static void main(String[] args){
C c=new C();
c.a=10;
c.a();
c.b=5;
c.b();
}
}
方法重写(Override)
子类继承父类,子类能够获得父类的方法,但是有时候父类的方法不能满足子类的需求,此时可以在子类中重写父类的方法。
eg:public class Students extends Person{
public int sno;
public void student(){
System.out.println("我在学习");
}
//重写父类方法say
public void say(){
System.out.println("学号:"+sno+"姓名:"+name+"年龄:"+age+"性别:"+sex);
}
public static void main(String[] args){
Students s=new Students();
s.age=10;
s.name="tom";
s.sex="男";
s.sno=201;
s.say();
}
}
注意:1.重写时,子类中方法的访问控制符不能比父类更严格
2.如果父类的方法使用private修饰的,则在子类就不叫重写(因为子类根本就无法访问父类的该方法,所以不存在重写。)
super关键字
super:超级、父类
在子类中用super调用父类的属性。
eg:
public class A{
public A(){
System.out.println("创建A对象");
}
}
public class B extends A{public B(){
System.out.println("创建了B对象");
}
public static void main(String[] args){
B b=new B();
}
}
final关键字
final:最终的,最后的。
final修饰的变量是常量,常量的值不可以改变
eg:public class A{
public final int PARAM=30;
public void a(){
PARAM=10;
}
}
final修饰的方法不可以被重写。
eg:public class B extends A{
public void say(){
}
}
public class A{
public final void say(){
}
}
final修饰的类不可以被继承。
eg:public class B extends A{
}
public final class A{
}