博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的抽象类
阅读量:4924 次
发布时间:2019-06-11

本文共 1237 字,大约阅读时间需要 4 分钟。

抽象类 : 用关键字abstract ;一个类如果被abstract修饰那么这个就叫抽象类。

如果abstract修饰方法 ,那么这个方法就叫抽象的方法
如果abstract修饰类,那么这个类叫抽象类。
如果一个类继承了抽象类,必须要实现抽象类中的抽象方法。

abstract关键字的使用:

方法体 : 方法中大括号的内容就是方法体。

1.如果一个方法没有方法体,那么这个方法必须要用abstract 来修饰。
2.如果一个类中有抽象方法,那么这个类必须用abstract 来修饰 ,为抽象的类。
3.如果一个非抽象的类,继承了这个抽象类,那么这个非抽象类中必须重写所有的抽象方法。
4.一个抽象类中是可以有非抽象的方法。
5.一个抽象类中是可以存在构造方法。作用是让子类能过初始化父类中的变量。
6.抽象类不能够创建对象
          原因:如果创建对象,对象就可以调用到抽象方法,这样调用抽象方法是没有意义。

7.一个抽象类中是可以不出现抽象方法的。

abstract关键字的使用场景:

我们在描述一个事物的时候,发现这个事物确实存在某种行为,但是这种行为又不具体,那么这个时候就可以抽取这种行为 声明一个没有实现的行为,这种行为就叫抽象的行为,那么这个时候就需要用到抽象类。

//通过abstract 关键字修饰的类叫抽象类。

abstract class Animal
{
String name;
String color;
abstract public void run ();//抽象方法是没有主体,没有方法的具体实现。

public void eat (){

System.out.println("动物在吃东西");
}

}

//一非抽象的类继承了抽象类,必须实现抽象类中的所有方法。

class Dog extends Animal
{

//需要重写父类中的run方法

public void run(){

System.out.println(name + "跑的很快");
}

}

class Fish extends Animal

{
//重写方法 : 没有强制要求重写run方法。

//应该要重写,但是我可以不重写。这样就容易出问题。

//想一个方法强制性让子类重写父类中的某一个方法

public void run(){

System.out.println(name+"游得很快");
}
}

class Demo8

{
public static void main(String[] args)
{
Dog d = new Dog();
d.name = "高加索";
d.run();
d.eat();
Fish fish = new Fish();
fish.name = "鲸鱼";
fish.run();
fish.eat();
}
}

转载于:https://www.cnblogs.com/liluyu123/p/6080798.html

你可能感兴趣的文章
2017.10.16
查看>>
JavaWeb学习笔记——jsp基础语法
查看>>
从url中拿参数和传递参数。正则获取参数
查看>>
Oracle DML(insert,update,delete)数据操纵语言
查看>>
linux+Apache开启伪静态配置
查看>>
将Excel 2007表格发布到MOSS列表,发布后的表格和可以和MOSS列表双向同步
查看>>
Spring 简单读取文件
查看>>
简单的web三层架构系统【第三版】
查看>>
EasyUI - Tabs
查看>>
PHP - 数组
查看>>
POJ 动态规划(2)
查看>>
面向对象设计模式的核心法则
查看>>
Windows 8 动手实验系列教程 实验4:应用栏和媒体捕获
查看>>
行为驱动开发: Cucumber的目录结构和执行过程 (转载)
查看>>
Shiro学习详解
查看>>
6最小公倍数和最大公约数的计算(未完期待)
查看>>
创建UITabBarController
查看>>
Kotlin学习记录3
查看>>
C#版本和.NET版本以及VS版本的对应关系
查看>>
单调栈与单调队列
查看>>