当前位置:网络安全 > java的三大特性之继承

java的三大特性之继承

  • 发布:2023-09-20 11:52

     


          继承:通过继承实现代码复用。Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但Java不支持多重继承,即一个类从多个超类派生的能力。在开发中尽量减少继承关系,这样做是为了把程序的耦合度降低。



package cn.java.test.Three_big_characteristics;/*** 这里是讲解java三大特性的常用的一个:继承。 继承:* 指的是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于可以抽取多类事物的共性。* * 使用:java中的继承要使用extends关键字,并且java中只允许单继承,也就是一个类只能有一个父类, 因此他们的继承关系呈树状。* * 继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法。* 若类B继承类A,则属于B的对象便具有类A的全部或部分性质(数据属性)和功能(操作),我们称被继承的类A为基类、父类或超类,* 而称继承类B为A的派生类或子类。* * 继承的主要的功能是用于扩展父类的功能; 提高了代码的复用性,让类与类之间产生了关系,有了这个关系,* 才有了通过继承实现的多态的java特性。* @author Administrator* */public class The_Second_extends {public static void main(String[] args) {// 构造父类A对象A a = new A();// 父类的sys_info方法调用打印信息:a.sys_info();// 构造A的子类B的对象:B b = new B();// 调用子类重写的方法sys_info方法调用打印信息:b.sys_info();// 调用B类重载的方法;b.sys_info("这里是main函数");}
}class A {String name;int age;public void sys_info() {System.out.println("我是父类A类的对象的sys_info();方法");}
}class B extends A {/** 重写(override)注意:* override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。 重写(覆盖)的规则:* 1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.* 2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。* 3、重写的方法的返回值必须和被重写的方法的返回一致; 4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;* 5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没s有对其进行重写。* 6、静态方法不能被重写为非静态的方法(会编译出错)。*/@Overridepublic void sys_info() {// TODO Auto-generated method stub// 如果父类的这个方法里面的操作需要的话,那么就需要:super.sys_info();----必须放置在第一行;System.out.println("我是子类B类的对象,重写了A类的sys_info();方法");}/** 重载的规则:* 1、在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数形式实现可以是不同的参数类型,不同的参数个数,不同的参数顺序* (参数形式必须不一样 );* 2、不能通过不同的访问权限、返回类型、抛出的异常进行重载;*/public void sys_info(String str) {System.out.println("你输入的信息是:" + str);}}




控制台信息打印:

我是父类A类的对象的sys_info();方法
我是子类B类的对象,重写了A类的sys_info();方法
你输入的信息是:这里是main函数





相关文章