Java通过案例来了解抽象类的功能及构造方法

文章目录

前言

一、抽象类是什么?

二、抽象类功能举例

一、代码结构

二、代码段

1. Animal.java类

2. Cat.java类

3. Dog.java类

4. Test316.java类

三、程序运行截图


前言

1.本代码是我在上学时写的,有一些地方没能完美实现,请包涵也请多赐教! 

2.本弹窗界面可以根据简单的要求进行输入,并显示是否正确,该文章代码设置的是在代码实现抽象类的功能及构造方法。同时可以实现自定义的设置;

3.该系统只能在控制台(eclipse等版本)上运行,同时需要搭配jdk环境;

4.这里要特别说明,如果要粘贴完整的代码包名和我的不一致,是指定不一致的,请手动更改;


提示:以下是本篇文章正文内容,下面案例可供参考

一、抽象类是什么?

Java语言中,用abstract 关键字来修饰一个类时,这个类叫作抽象类。抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。抽象类可以看作是对类的进一步抽象。在面向对象领域,抽象类主要用来进行类型隐藏。

在抽象类中可以包含一般方法和抽象方法。抽象方法的定义与一般方法不同,抽象方法在方法头后直接跟分号,而一般方法含有以大括号框住的方法体。所有的抽象方法必须存在于抽象类中。

【上述内容来源自:百度百科-java抽象类,链接:java抽象类_百度百科 (baidu.com)

二、抽象类功能举例

一、代码结构

我建的软件包名为com.edu.p6,这个包内需要有4个Java类,分别为:Animal.java类,Cat.java类,Dog.java类,Test316.java类

这里面Animal.java类是一个抽象类示例

Cat.java类定义子类继承抽象类,动物猫的属性

Dog.java类定义子类继承抽象类,动物狗的属性

Test316.java类是实例化dog、cat这两个对象

二、代码段

1. Animal.java类

代码如下(示例):

//抽象类示例
package com.edu.p6;

public abstract class Animal {//抽象类的定义
        String breed;//种类
        int weight;//重量
        public abstract void enjoy();//抽象方法
        
}

2. Cat.java类

代码如下(示例):

package com.edu.p6;

public class Cat extends Animal {//定义子类继承抽象类
	public Cat(String breed,int weight){//带参的构造方法
    	this.breed=breed;//breed="猫"
    	this.weight=weight;//weight=6
    }
	@Override
	public void enjoy() {//重写父类中的抽象方法
		// TODO 自动生成的方法存根
         System.out.println(breed+"是一种猫,体重大约"+weight+"kg。它是一种温文尔雅的动物!");
	}


}

3. Dog.java类

代码如下(示例):

package com.edu.p6;

public class Dog extends Animal {
    public Dog(String breed,int weight){//带两个参数的构造方法的定义
    	this.breed=breed;//breed="藏獒"
    	this.weight=weight;//weight=67
    }
	@Override
	public void enjoy() {//重写父类中的抽象方法
		// TODO 自动生成的方法存根
         System.out.println(breed+"是一种狗,体重大约"+weight+"kg。它是一种漂亮有美丽的动物!");
	}

}

4. Test316.java类

代码如下(示例):

package com.edu.p6;

public class Test316 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
        Dog d=new Dog("dog",30);//实例化dog类对象
        Cat c=new Cat("cat",6);//实例化Cat类对象
        d.enjoy();
        c.enjoy();
	}

}


三、程序运行截图

1.显示结果

猜你喜欢

转载自blog.csdn.net/weixin_59042297/article/details/129838149