做网站需要哪些条件,网站优化师负责干什么,比较好的ui设计网站,招工招聘人在附近继承就是子类继承父类的特征和行为有时候单一划分某个类别并不能处理所有情况#xff0c;某些类别下有明显不同的子类#xff0c;这些子类虽然拥有类似的行为和属性#xff0c;但是他们各自发生的这些行为的方式或者属性对某些结果的影响是不一样的#xff0c;这就需要划分…继承就是子类继承父类的特征和行为有时候单一划分某个类别并不能处理所有情况某些类别下有明显不同的子类这些子类虽然拥有类似的行为和属性但是他们各自发生的这些行为的方式或者属性对某些结果的影响是不一样的这就需要划分出更多细致的类别。比如之前类和对象笔记中球员这个类别球员都有球衣号码得分这些属性打球的行为但是很明显篮球运动员和足球运动员在这些属性和行为上是有区别的。篮球运动员打球可以用手胳膊。足球运动员打球可以脚踢头顶。篮球运动员一场得分两位数很正常足球运动员显然不可能一场得分两位数。基于这个分析。我们有必要把这个类拆分成篮球运动员类和足球运动员类。首先我们把所有球员的公共属性和公共行为抽象出来形成一个类。然后通过继承让两个子类都去享有这个类的公共属性和行为但是具体行为依靠自己来实现。(测试框架中的测试基类)java提供了extends关键字来实现继承功能首先新建一个球员类Playerpackagelesson;public classPlayer {public int number; //号码public int score; //得分public String position; //司职public String name; //姓名public voidplayBall(){System.out.println(姓名this.name);System.out.println(号码this.number);System.out.println(得分this.score);System.out.println(司职this.position);}}接下来创建篮球运动员类和足球运动员类packagelesson;public class BasketBallPlayer extendsPlayer{public static voidmain(String[] args){BasketBallPlayer player1 newBasketBallPlayer();player1.name jordan;player1.number 23;player1.position 得分后卫;player1.score 33;player1.playBall();}}packagelesson;public class FootBallPlayer extendsPlayer {public static voidmain(String[] args){FootBallPlayer player2 newFootBallPlayer();player2.name 齐达内;player2.number 10;player2.position 中场;player2.score 2;player2.playBall();}}虽然这两个类中没有任何属性和方法但是能点出Player类的属性还能调用父类的方法。说明它继承到了父类的属性和方法。需要注意的是子类并不能继承父类的构造方法创建子类对象时会先调用父类的构造方法然后调用自己的构造方法。由于每个类都默认有一个默认的无参数的构造方法所以为了看出效果。需要显示的创建这几个类的构造方法。packagelesson;public classPlayer {public int number; //号码public int score; //得分public String position; //司职public String name; //姓名publicPlayer(){System.out.println(我是Player);}public voidplayBall(){System.out.println(姓名this.name);System.out.println(号码this.number);System.out.println(得分this.score);System.out.println(司职this.position);}}packagelesson;public class BasketBallPlayer extendsPlayer{publicBasketBallPlayer(){System.out.println(我是BasketBallPlayer);}public static voidmain(String[] args){BasketBallPlayer player1 newBasketBallPlayer();player1.name jordan;player1.number 23;player1.position 得分后卫;player1.score 33;player1.playBall();}}packagelesson;public class FootBallPlayer extendsPlayer {publicFootBallPlayer(){System.out.println(我是FootBallPlayer);}public static voidmain(String[] args){FootBallPlayer player2 newFootBallPlayer();player2.name 齐达内;player2.number 10;player2.position 中场;player2.score 2;player2.playBall();}}结果说明在创建子类对象时会先调用父类的构造方法然后调用自己的构造方法这个结果并不能说明子类在继承父类时也继承了父类的构造方法只能说默认会调用而已。