继承

来源:互联网 发布:哪有学java的学校 编辑:程序博客网 时间:2024/05/23 00:24

理解继承的概念

父类:被继承的类叫父类

子类:继承父类的类叫子类

(父类,子类是相对的。)


在继承中子类将获得父类的属性和方法,同时子类也可以定义自己的属性和方法。继承可以提高代码的重用性。

注意:C++等编程语言中存在多继承,但是Java中没有多继承(A不能同时继承BC),但是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{

}

原创粉丝点击