package com.bjsxt.oop.abstractClass;
//抽象类
public abstract class Animal {
//因为父类的方法总是被重写 那就没写的必要了 但是有声明的必要 声明成抽象方法 包含了 抽象方法的类 是抽象类 必须加上关键字 abstrat
/*
public void run(){
}
*/
//下面是抽象方法 只是声明没有实现 所以也就没有{}
public abstract void run();
//普通方法
public void breath(){
System.out.println("呼吸");
} }
//如果一个类继承抽象类 那必须 1.实现抽象类 或者 2.你定义一个抽象类 去继承另外一个抽象类
/*The type Cat must implement the inherited abstract method Animal.run()
class Cat extends Animal{
}
*/
// 1.实现抽象类,重写了抽类型的方法 完成了具体实现
class Cat extends Animal{
//@override是注解 含义 必须重写 不能改名
@Override
public void run() {
System.out.println("猫步跑");
}
}
// 2.你定义一个抽象类 去继承另外一个抽象类
//abstract class Cat extends Animal{
//}
class Dog extends Animal{
@Override
public void run() {
System.out.println("狗跑");
}
} /**
* 总结
* 为什么需要需要抽象类?如何定义抽象类?
* 抽象类是为所有的子类提供了一个通用模板,子类可以通过这个模板进行扩展
* 通过抽象类,可以避免子类设计的随意性,通过抽象类,我们就可以找到很严格的限制子类的设计,使子类之间更加通用、。
*
* 要点
* 有抽象方法的类智能定义成抽象类
* 抽象类不能实例化,既不能用new来实例化抽象类
* 抽象类可以包含属性,方法,构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
* 抽象类只能用来继承
* 抽象方法必须被子类实现。
*/
 package com.bjsxt.oop.abstractClass;

 public class Test {

     /**
* @param args
*/
public static void main(String[] args) { // Animal a = new Animal();
// 调用了抽象类的构造方法 即使他存在
// * 要点
// * 有抽象方法的类智能定义成抽象类
// * 抽象类不能实例化,既不能用new来实例化抽象类
// * 抽象类可以包含属性,方法,构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
// * 抽象类只能用来继承
// * 抽象方法必须被子类实现。
} }

抽象类(abstract class)的更多相关文章

  1. php中的抽象类(abstract class)和接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  2. PHP的接口类(interface)和抽象类(abstract)的区别

    <?php /** * 接口类:interface * 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类, * 那你就会问,我怎么知道他的某个功能的实现方法是怎么 ...

  3. JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

    JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来 ...

  4. [PHP] 抽象类abstract的回顾

    1.abstract定义为抽象的类不能被实例化. 2.它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的. 3.被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实 ...

  5. C++虚函数virtual,纯虚函数pure virtual和Java抽象函数abstract,接口interface与抽象类abstract class的比较

    由于C++和Java都是面向对象的编程语言,它们的多态性就分别靠虚函数和抽象函数来实现. C++的虚函数可以在子类中重写,调用是根据实际的对象来判别的,而不是通过指针类型(普通函数的调用是根据当前指针 ...

  6. 高级类特性----抽象类(abstract class)

    抽象类(abstract class) 随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用.类的设计应该保证父类和子类能够共享特征.有时将一个父类设计得非常抽象,以至于它没有具 ...

  7. Java中的抽象类abstract

    abstract定义抽象类 abstract定义抽象方法,只需要声明,不需要实现 包含抽象方法的类是抽象类 抽象类中可以包含抽象方法,也可以包含普通方法 抽象类不能直接创建,可以定义父类引用变量指向子 ...

  8. Day06_30_抽象类(Abstract)

    抽象类 Abstract 什么是抽象类? 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就 ...

  9. c#中抽象类(abstract)和接口(interface)的相同点与区别

    相同点: 1.都可以被继承 2.都不能被实例化 3.都可以包含方法声明 4.派生类必须实现未实现的方法 区别: 1.抽象基类可以定义字段.属性.方法实现.接口只能定义属性.索引器.事件.和方法声明,不 ...

  10. C# 抽象类abstract

    不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例,有未被实现的方法.抽象类不可以new对象. "一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被 ...

随机推荐

  1. C# 正则表达式 判断各种字符串(如手机号)

    using System; using System.Text.RegularExpressions; namespace MetarCommonSupport { /// <summary&g ...

  2. go http client, http server

    Go语言中的HTTP client, server非常简单.具体如下. HTTP Server package main import ( "fmt" "html&quo ...

  3. 胖子哥的大数据之路(四)- VisualHBase功能需求框架

    一.引言 大数据在结构化数据存储方面的应用需求越来越明确,但是大数据环境下辅助开发工具的不完善,给数据库管理人员和开发人员带来的不变难以言表,基于此创建了开源项目VisualHBase,同时创建了Vi ...

  4. HDFS高级开发培训课程之HDFS开发实例课件

    前言: 刚刚完成的HDFS高级开发培训课程课件中的一个章节,不知道PPT,如何导出HTML格式,只好批量导出图片,贴图了. 连接管理:建立连接.断开连接.设置连接参数 文件操作:浏览文件.上传文件.下 ...

  5. Python网络爬虫-Scrapy框架

    一.简介 Spider是所有爬虫的基类,其设计原则只是为了爬取start_url列表中网页,而从爬取到的网页中提取出的url进行继续的爬取工作使用CrawlSpider更合适. 二.使用 1.创建sc ...

  6. print 出来的信息添加到text文件里

  7. ASP.NET Web Pages:Chart 帮助器

    ylbtech-.Net-ASP.NET Web Pages:Chart 帮助器 1.返回顶部 1. ASP.NET Web Pages - Chart 帮助器 Chart 帮助器 - 众多有用的 A ...

  8. [UE4]让AI跑起来

    让AI由静止状态变成跑步状态,做法跟玩家角色走路一样. 一.创建1D混合动画 二.在AI角色关联的动画蓝图中使用第一步创建的混合动画

  9. mysql存储过程的参数名不要跟字段名一样 (血淋淋的代价)

    如题,将会导致的结果就是参数的值将不会是你传入的值,而是变成每条记录的那个字段的值. 这样的后果,是灰常严重的.比如执行删除操作,它能把整个表的记录全删了. 这个是我的血淋淋的代价啊. 死坑如下,勿跳 ...

  10. Oracle创建数据库链接

    **********创建数据库链接******************create public database link link_gzzl connect to system identifie ...