如何推广手机网站,自动化东莞网站建设,seo网站托管,南京百度快照优化排名继承#xff1a;在Java中使用extends关键字来实现类的继承 #xff0c;extends意思就是派生#xff0c;所以子类也叫派生类#xff0c;继承的主要目的是扩展类的内容操作格式#xff1a; class A{}; class B extends A{};子类B可以继承父类A中的公用方法#xff0c;也可…继承在Java中使用extends关键字来实现类的继承 extends意思就是派生所以子类也叫派生类继承的主要目的是扩展类的内容操作格式 class A{}; class B extends A{};子类B可以继承父类A中的公用方法也可以扩展自己的方法示例代码package OOP2;class Person{private String name;private int age;public void setName(String name){this.name name;}public void setAge(int age){this.age age;}public String getName(){return this.name;}public int getAge(){return this.age;}};class Student extends Person{private String school;public void setSchool(String school){this.school school;}public String getSchool(){return this.school;}};public class extendsOne {public static void main(String[] args) {// TODO Auto-generated method stubStudent stu new Student();stu.setName(李帅);stu.setAge(20);stu.setSchool(霍格沃茨);System.out.println(名字:stu.getName(),年龄stu.getAge(),学校stu.getSchool());}}继承的限制Java中只允许单继承意思就是一个子类只能继承一个父类一个孩子只能有一个亲爸但是可以进行多层继承意思就是父类还可以有父类访问限制在父类中的私有成员不能被子类访问所以通过setter 和getter方法供子类访问父类中的非私有方法。在Java机制中首先执行父类中的内容再执行子类中的内容即没有父亲就没有孩子对于子类的构造方法中隐含了super();所以有时也将父类称为超类。方法的覆写在继承的关系中也存在方法的覆写即子类中覆写父类中的方法。但是被子类覆写的方法不能拥有比父类更低的访问权限。 目前接触的权限有private如果子类中的方法权限实在低于父类中的权限只能通过super的方法来实现实例如下class Person{// 定义父类void print(){// 默认的访问权限System.out.println(Person -- void print()。) ;}};class Student extends Person{// 定义继承关系public void print(){super.print() ;// 访问父类中被子类覆写过的方法System.out.println(Student -- void print()。) ;}};public class OverrideDemo03{public static void main(String args[]){Student s new Student() ;s.print() ;}};研究此问题意义不大。方法重载和覆写的区别super关键字super关键字的作用是在子类中调用父类的指定操作例如调用属性、方法、构造等。但在子类中要调用父类的有参构造必须要声明参数super(参数参数)继承的应用实例定义一个整形数组类要求包含构造方法增加数据及输出数据成员方法并利用数组实现动态内存分配在此基础上定义出以下子类A排序类实现数组的排序B数组反转类实现数据的反向存放代码class Array{// 表示数组private int temp[] ;// 整型数组private int foot ;// 定义添加位置public Array(int len){if(len0){this.temp new int[len] ;}else{this.temp new int[1] ;// 最少维持空间是1个}}public boolean add(int i){// 增加元素if(this.footthis.temp[foot] i ;// 增加元素this.foot ;// 修改脚标return true ;}else{return false ;}}public int[] getArray(){return this.temp ;}};class SortArray extends Array{// 排序类public SortArray(int len){super(len) ;}public int[] getArray(){// 覆写方法java.util.Arrays.sort(super.getArray()) ;// 排序操作return super.getArray() ;}};class ReverseArray extends Array{// 反转操作类public ReverseArray(int len){super(len) ;}public int[] getArray() {int t[] new int[super.getArray().length] ;// 开辟一个新的数组int count t.length - 1 ;for(int x0 ;xt[count] super.getArray()[x] ;// 数组反转count-- ;}return t ;}};public class ArrayDemo{public static void main(String args[]){// ReverseArray a null ;// 声明反转类对象// a new ReverseArray(5) ;// 开辟5个空间大小SortArray a null ;a new SortArray(5) ;System.out.print(a.add(23) \t) ;System.out.print(a.add(21) \t) ;System.out.print(a.add(2) \t) ;System.out.print(a.add(42) \t) ;System.out.print(a.add(5) \t) ;System.out.print(a.add(6) \t) ;print(a.getArray()) ;}public static void print(int i[]){// 输出数组内容for(int x0;xSystem.out.print(i[x] 、) ;}}};