欢迎光临散文网 会员登陆 & 注册

Java oop代码6(原创方法):5道用上extends继承,子类,父类的题

2019-12-17 18:20 作者:诗书画唱  | 我要投稿

//1、父类:交通工具:run方法
子类:公交车(Bus),自行车(Bike),飞机(Plane),地铁 (Metro)

package a;


public class Student {


public static void main(String[] args) {


feiji f=new feiji("飞机");


f.run();

f.fly();



ditie d=new ditie("地铁");


d.run();

d.zr();


feiji s=new feiji("公交车");

s.run();

s.zr();


feiji z=new feiji("自行车");

z.run();

z.znpy();


}




}


class jiaotonggongjv{


public String name;


public jiaotonggongjv(String name){


this.name=name;


}//红色部分是我认为重要或需记忆或不熟或可能会忘的部分


public void run(){


System.out.println("执行了"+this.name+"的run方法");


}

public void zr(){


System.out.println("执行了"+this.name+"的载人方法");


}

public void fly(){


System.out.println("执行了"+this.name+"的飞方法");


}



public void znpy(){


System.out.println("执行了"+this.name+"的载女朋友方法");


}


}


class gongjiaoche extends jiaotonggongjv{


public gongjiaoche(String name) {


super(name);


}


}


class zixingche extends jiaotonggongjv{


public zixingche(String name) {


super(name);


}


}


class feiji extends jiaotonggongjv{

/*因为class feiji 继承了class jiaotonggongjv,所以class jiaotonggongjv里面的

public String name;


public jiaotonggongjv(String name){


this.name=name;

的代码作用,class feiji也有了,所以前面可写出feiji f=new feiji("飞机");,也可写成

jiaotonggongjv f=new jiaotonggongjv("飞机");让前面System.out.println("执行了"+this.name+"的飞方法");中的this.name可以打印出"飞机"

*/


public feiji(String name) {


super(name);//这里就有可少写些name代码的作用了,"飞机"会赋值到name与this.name中


}


}


class ditie extends jiaotonggongjv{


public ditie(String name) {


super(name);


}


}

执行效果图:

//2、父类:人:walk方法

//子类:老师,学生,蓝领,白领

package a;




public class Student {




public static void main(String[] args) {



person f=new person("老师");


f.walk();


f.say();


person d=new person("学生");


d.walk();


d.play();


person e=new person("蓝领");


e.walk();


e.gzzd();




person s=new person("白领");


s.walk();


s.gzg();


}




}


class person{


public String name;


public person(String name){


this.name=name;


}


public void walk(){


System.out.println("执行了"+this.name+"的walk方法");


}


public void say(){


System.out.println("会说");


}


public void play(){


System.out.println("会玩");


}


public void gzzd(){


System.out.println("工资中等");


}


public void gzg(){


System.out.println("工资高");


}


}


class gongjiaoche extends person{


public gongjiaoche(String name) {


super(name);


}


}


class zixingche extends person{


public zixingche(String name) {


super(name);


}


}

3、父类:课程:exam方法
子类:语文,数学,英语

package a;


public class Student {


public static void main(String[] args) {


feiji f=new feiji("语文");


f.exam();

f.fly();



ditie d=new ditie("数学");


d.exam();

d.zr();


feiji s=new feiji("英语");

s.exam();

s.zx();




}




}


class kecheng{


public String name;


public kecheng(String name){


this.name=name;


}


public void exam(){


System.out.println("执行了"+this.name+"的exam方法");


}

public void zr(){


System.out.println("执行了"+this.name+"的变得聪明的方法");


}

public void fly(){


System.out.println("执行了"+this.name+"的变得有涵养的方法");


}

public void zx(){


System.out.println("执行了"+this.name+"的变得自信的方法");


}




}


class gongjiaoche extends kecheng{


public gongjiaoche(String name) {


super(name);


}


}


class zixingche extends kecheng{


public zixingche(String name) {


super(name);


}


}


class feiji extends kecheng{


public feiji(String name) {


super(name);


}


}


class ditie extends kecheng{


public ditie(String name) {


super(name);


}


}

4、父类:形状:pait方法
子类:三角形,正方形,圆形,五角星

package a;


public class Student {


public static void main(String[] args) {


sjx f=new sjx("三角形");/*这里sjx(子类名)换为person(父类名),虽然可少写extends部分,但就没太多意义了,只是单纯的方法调用了,因为这题是为了多练熟extends部分,所以不换为person,这里写了相应的extends部分,才可xie相应的 子类名  名=new  子类名("     ")*/


f.pait();


f.stb();


zfx d=new zfx("正方形");


d.pait();




d.sitb();




yx e=new yx("圆形");




e.pait();




e.ka();








wjx s=new wjx("五角星");




s.pait();




s.wgj();




}








}




class person{




public String name;




public person(String name){




this.name=name;




}




public void pait(){




System.out.println("执行了"+this.name+"的pait方法");




}




public void stb(){




System.out.println("3条边");




}




public void sitb(){




System.out.println("4条边");




}




public void wgj(){




System.out.println("5个角");




}




public void ka(){




System.out.println("圆圆的很可爱,让人有视觉享受");




}




}




class sjx extends person{




public sjx (String name) {




super(name);




}




}




class zfx extends person{




public zfx(String name) {




super(name);




}




}

class yx extends person{




public yx(String name) {




super(name);




}




}

class wjx extends person{




public wjx(String name) {




super(name);




}




}

5、父类:英雄:cast方法
子类:法师、战士、刺客、猎人、牧师

package a;


public class Student {


public static void main(String[] args) {


sjx f = new sjx("法师");


f.cast();


f.mf();


zfx d = new zfx("战士");


d.cast();


d.jz();


yx e = new yx("刺客");


e.cast();


e.as();


wjx s = new wjx("猎人");


s.cast();


s.sl();


MS j = new MS("牧师");


j.cast();


j.xrsxt();


}


}


class person {


public String name;


public person(String name) {


this.name = name;


}


public void cast() {


System.out.println("执行了" + this.name + "的cast方法");


}


public void jz() {


System.out.println("近战");


}


public void xrsxt() {


System.out.println("送人上西天");


}


public void mf() {


System.out.println("魔法");


}


public void as() {


System.out.println("暗杀");


}


public void sl() {


System.out.println("狩猎");


}


}


class sjx extends person {


public sjx(String name) {


super(name);


}


}


class zfx extends person {


public zfx(String name) {


super(name);


}


}


class yx extends person {


public yx(String name) {


super(name);


}


}


class wjx extends person {


public wjx(String name) {


super(name);


}

}


class MS extends person {


public MS(String name) {


super(name);


}


}//注意不要套在class wjx等类中去了




Java oop代码6(原创方法):5道用上extends继承,子类,父类的题的评论 (共 条)

分享到微博请遵守国家法律