Java oop代码6:继承实例(含原创方法:类比替代法)

1.
package a;
public class Student{
public static void main(String[] args) {
System.out.println("猫类");
Cat c=new Cat();
c.color="黄色";
c.leg=4;
System.out.println(c.color+" ..."+c.leg);
c.eat();
c.sleep();
c.Catch();
System.out.println("狗类");
Dog d=new Dog();
d.color="黑色";
d.leg=4;
System.out.println(d.color+" ..."+d.leg);
d.eat();
d.sleep();
d.look();
}
}
class Animal {
String color; //动物的颜色
int leg; //动物腿的个数
public void eat() { //吃饭的功能
System.out.println("吃饭");
}
public void sleep() { //睡觉的功能
System.out.println("睡觉");
}
}//父类中构造共有的方法
class Cat extends Animal {
public void Catch() {
System.out.println("猫捉老鼠");
}
}/*用extends来继承,其中构造的独有方法在主函数里面这里用c.Catch();来引用*/
class Dog extends Animal {
public void look() {
System.out.println("狗看家");
}//用extends来继承
}

2.
package a;
public class Student {
public static void main(String[] args) {
// 1、父类:交通工具:run方法
// 子类:公交车(Bus),自行车(Bike),飞机(Plane),地铁
// (Metro)
feiji f=new feiji("飞机");
f.run();
ditie d=new ditie("地铁");
d.run();
}
}
class jiaotonggongjv{
public String name;
public jiaotonggongjv(String name){
this.name=name;
}
public void run(){
System.out.println("执行了"+this.name+"的run方法");
}
}
class gongjiaoche extends jiaotonggongjv{
public gongjiaoche(String name) {
super(name);
}
}
class zixingche extends jiaotonggongjv{
public zixingche(String name) {
super(name);
}
}
class feiji extends jiaotonggongjv{
public feiji(String name) {
super(name);
}
}
class ditie extends jiaotonggongjv{
public ditie(String name) {
super(name);
}
}
执行效果图:

2.用我原创的类比替代法(比如我把run全换成了walk)可得以下代码:
package a;
public class Student {
public static void main(String[] args) {
feiji f=new feiji("老师");
f.walk();
ditie d=new ditie("学生");
d.walk();
ditie e=new ditie("蓝领");
e.walk();
ditie s=new ditie("白领");
s.walk();
}
}
class person{
public String name;
public person(String name){
this.name=name;
}
public void walk(){
System.out.println("执行了"+this.name+"的walk方法");
}
}
class gongjiaoche extends person{
public gongjiaoche(String name) {
super(name);
}
}
class zixingche extends person{
public zixingche(String name) {
super(name);
}
}
class feiji extends person{
public feiji(String name) {
super(name);
}
}
class ditie extends person{
public ditie(String name) {
super(name);
}
}
执行效果图:

3.用我原创的类比替代法(比如我把在2题得代码中加上了绿字部分)可得以下代码:
package a;
public class Student {
public static void main(String[] args) {
feiji f=new feiji("老师");
f.walk();
f.say();
ditie d=new ditie("学生");
d.walk();
d.play();
ditie e=new ditie("蓝领");
e.walk();
e.gzzd();
ditie s=new ditie("白领");
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);
}
}
class feiji extends person{
public feiji(String name) {
super(name);
}
}
class ditie extends person{
public ditie(String name) {
super(name);
}
}
执行效果图:
