欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3分钟学会java中的继承方法

程序员文章站 2022-07-02 19:20:20
...

继承介绍

继承的概念:继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

继承的语法

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

class 父类 {
。。。
}

class 子类 extends 父类 {
。。。
}

继承后的优点

1.优点:

  1. 提高代码的复用性。
  2. 类与类之间产生了关系,是多态的前提。

2.成员方法

1、成员方法不重名

如果子类父类中出现不重名的成员方法,这时的调用是没有影响的。

调用方法时,先在子类中查找有没有对应的方法,若子类中存在就会执行子类中的方法,若子类中不存在就会执行父类中相应的方法。

2、成员方法重名

如果子类父类中出现重名的成员方法,这时的访问是一种特殊情况,并且分为两种情况。

  • 如果子类出现与父类重名方法,但是方法参数不同,这种情况属于方法重载;
  • 如果子类出现与父类重名方法,同时方法参数也相同,这种情况叫做方法重写Override

方法重写 :子类中出现与父类一模一样的方法时(方法名和参数列表都相同,重写的返回值类型相同或者是父类方法的子类),会出现覆盖效果,也称为重写或者复写。

3.构造方法

  • 构造方法的名字是与类名一致的。所以子类是无法继承父类构造方法的。

  • 构造方法的作用是创建对象并初始化成员变量的。所以子类的初始化过程中,必须先执行父类的初始化动作。子类的构造方法中默认有一个 super() ,表示调用父类的构造方法,父类成员变量初始化后,才可以给子类使用。

举例编程题说明

(1)蛇怪类:
属性包括:怪物名字,生命值,攻击力
方法包括:攻击,移动(曲线移动),补血(当生命值<10时,可以补加20生命值)
(2)蜈蚣精类:
属性包括:怪物名字,生命值,攻击力
方法包括:攻击,移动(飞行移动)
(3)要求:
1)分析蛇怪和蜈蚣精的公共成员,提取出父类—怪物类
2)利用继承机制,实现蛇怪类和蜈蚣精类
3)攻击方法,描述攻击状态。内容包括怪物名字,生命值,攻击力
4)编写测试类,分别测试蛇怪和蜈蚣精的对象及相关方法。

怪物类代码:

public class monster {
public String name;
public String life=“生命值为1200”;
public String attack=“攻击力为40”;

  	public void attack(){
  		System.out.println("怪物攻击");
  	} 
  	public void move(){
  		System.out.println("怪物移动");
  	}  
  	}

蜈蚣精类代码:

public class chong extends monster {
public String name ;

    public void move(){
    	System.out.println("飞行移动");
    }

}

蛇怪类代码:

public class snake extends monster {
public String name ;

public void move(){
	System.out.println("曲线移动");
}

public void hp(){
	System.out.println("补血(当生命值<10时,可以补加20生命值)");    	
	}

}

测试代码

public class demo {
public static void main(String[] args) {
snake snake = new snake();
chong chong = new chong();
snake.name = “蛇怪”;
snake.move();
snake.hp();
snake.attack();
System.out.println(snake.name);
System.out.println(snake.life);
System.out.println(snake.attack);

	chong.name="蜈蚣精";
	chong.move();
	chong.attack();
	System.out.println(chong.name);
	System.out.println(chong.life);
	
	}

}