栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

记录:Java基础学习之抽象类Abstract

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录:Java基础学习之抽象类Abstract

抽象类的概念:简单的说就是,用abstract修饰的类就是抽象类。

抽象类的特点:

1、 抽象类可以有构造方法、成员变量、成员方法、抽象方法,但是不能被实例化

public class AbstractClass {
	
	public static void main(String[] args) {
        // 在IDE上会直接报红
        // 尝试编译的时候会有错误:People is abstract; cannot be instantiated
		People people = new People("张三", 22);
	}
}

abstract class People {
	private String name;
	private Integer age;
	
	public People(String name, Integer age) {
		this.setName(name);
		this.setAge(age);
		System.out.println("This is Parent Class");
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

    public abstract void info();
}

2、抽象类必须被继承后,才能被使用。

public class AbstractClass {
	
	public static void main(String[] args) {
		People stu = new Student("张三", 22, "学生");
		stu.info();
	}
}


class Student extends People {
	private String job;
	
	public Student(String name, Integer age, String job) {
		super(name, age);
		this.setJob(job);
		System.out.println("This is Child Class");
	}

	public String getJob() {
		return job;
	}

	public void setJob(String job) {
		this.job = job;
	}
	
	@Override
	public void info() {
		System.out.println("姓名:" + this.getName() + "  年龄:" + this.getAge() + "  职业:" + this.job);
	}
}
This is Parent Class
This is Child Class
姓名:张三  年龄:22  职业:学生

3、子类如果没有实现父类的全部抽象方法,那么子类必定也是抽象类

4、抽象类的成员可以是private、默认、protected、public的,但是抽象方法只允许使用public、protected修饰,或者不用修饰符,其他任何修饰符都会报错。

abstract class Country {
	public String name = "";
	
	private static String landArea = "";
	
	protected final int status = 0;
	
    // 报错:The abstract method speak in type Country can only set a visibility modifier, one of public or protected
	private abstract void speak();
	
}

在实际工作中,我见得多的还是,使用抽象类作为工具类来使用,至于为什么,听说是因为抽象类不能被实例化,到底是不是这个原因,我也不是很清楚,因为写这个人已经不在了

这只是我的个人学习之见,有不足请大家拍砖,不要客气

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582978.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号