这一节我们来学习抽象类

抽象类–深入讨论

抽象类是java中一个比較重要的类。

1、用abstract关键字来修饰一个类时。这个类就是抽象类。

2、用abstract关键字来修饰一个方法时,这种方法就是抽象方法。

3、abstract抽象类中的abstract抽象方法是不同意在抽象类中实现的。一旦实现就不是抽象方法和抽象类了。abstract抽象方法仅仅能在子类中实现。

4、抽象类中能够拥有实现方法。

5、抽象方法在编程中用的不是非常多,可是在公司笔试时,却是考官比較爱问的知识点。

抽象类–注意事项

1、抽象类不能被实例化

2、抽象类不一定要包括abstract方法。也就是说。抽象类能够没有abstract抽象方法。

3、一旦类包括了abstract抽象方法,则这个类必须声明为abstract抽象类。

4、抽象方法不能有主体。

正确的抽象方法例:abstract void abc();

错语的抽象方法例:abstract void abc(){}

package abstractclass;

public class Abstractclass {

    public static void main(String[] args) {
// TODO 自己主动生成的方法存根
//Animal an=new Animal();抽象类不同意实例化
Animal an=new Cat();
an.cry();
an.sx();
an=new Dog();
an.cry();
an.sx(); } } //抽象类abstract关键词
abstract class Animal{
String name;
int age;
//动物会叫,使用了abstract抽象方法
abstract public void cry();//抽象类中能够没有abstract抽象方法
//抽象类内能够有实现方法
public void sx(){
System.out.println("实现方法");
}
}
//当一个子类继承的父类是abstract抽象类的话,须要程序猿把抽象类的抽象方法所有实现。 class Cat extends Animal{
//实现父类的cry。事实上相似上节学习中的子类覆盖父类
public void cry(){
System.out.println("猫猫叫");
}
}
class Dog extends Animal{
//实现父类的cry。事实上相似上节学习中的子类覆盖父类
public void cry(){
System.out.println("汪汪叫");
}
}

下一节我们来讲一下接口类,而且希望能在抽象类和接口类上进行比較

JAVA多态学习3的更多相关文章

  1. JAVA多态学习1

    多态–概念 所谓多态.就是指一个引用(类型)在不同情况下的多种状态. 也能够理解成:多态是指通过指向父类的指针,来调用在不同子类中实现的方法. 实现多态有两种方式:1.继承.2.接口 这一次我们先来演 ...

  2. Java多态学习笔记

    面向对象三大特性:封装,继承和多态.其中,封装,继承都比较通俗易懂,唯有多态令我甚是头疼.经过仔细研究之后,终于搞懂了一点,特来做一个分享.独乐乐不如众乐乐. 何为多态?多态的本质是:一个程序中同名的 ...

  3. JAVA多态学习2

    好啦,这里紧接着上次没说的向下转型,请读者结合上次讨论的向上转型的样例一起探讨(事实上本次代码也有加上,放心). 我们这里希望从向下转型会出现的两种基本情况进行探讨 package downcasti ...

  4. [转帖]java基础学习总结——多态(动态绑定)

    https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态

  5. Java学习笔记二十六:Java多态中的引用类型转换

    Java多态中的引用类型转换 引用类型转换: 1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换: 2.向下类型转换(强制类型转换),是大类型到小类型的转换: 3.instanceof运算 ...

  6. Java 多态——与C++的比较

    学习了Java和C++之后,由于长期不使用C++,而java的基础知识掌握不牢,现在已经搞不清java多态了.现在先来谈谈java多态,稍后有时间再更新C++的多态,并进行比较~ 一. Java的多态 ...

  7. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

  8. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  9. Java多态总结

    面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. 1.定义: 多态:指允许不同类的对象对同一消息做出响应.即同一消息可 ...

随机推荐

  1. dlib库学习之一

    dlib库学习之一 1.介绍 跨平台 C++ 通用库 Dlib 发布 ,带来了一些新特性,包括概率 CKY 解析器,使用批量同步并行计算模型来创建应用的工具,新增两个聚合算法:中国低语 (Chines ...

  2. poj 1838

    http://poj.org/problem?id=1838 并查集,,,计算总共个数的模版..... #include <iostream> #define maxn 16006 #in ...

  3. phpeclipse

    http://phpeclipse.sourceforge.net/update/stable/1.2.x/

  4. Spring MVC 入门基础

    欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 原文链接:http://java.chinaitlab.com/advance/899129.html 基本上是一个精简版的 ...

  5. Error Unable to start the Genymotion virtual device.解决

    The Genymotion virtual device could not obtain an IP address.For an unknown reason.VirtualBox DHCP h ...

  6. perl 安装Net::ZooKeeper

    <pre name="code" class="python"><pre name="code" class=" ...

  7. python异常处理URLError,HTTPError,Wrapping,

    们在使用爬虫来抓取网页内容的时候,HTTP异常是必须要注意的一项,所以本文,我们来详细探寻一下HTTP异常处理的相关内容,通过一些具体的实例来分析一下,非常的简单,但是却很实用.   先来说一说HTT ...

  8. MySQL PrepareStatement基本的两种模式&客户端空间占用的源码分析

    关于预编译(PrepareStatement),对于所有的JDBC驱动程序来讲,有一个共同的功能,就是“防止SQL注入”,类似Oracle还有一种“软解析”的概念,它非常适合应用于OLTP类型的系统中 ...

  9. JS判断只能是数字和小数点

    JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'' ...

  10. c/c++内存分配方式(转)

    原文链接:http://blog.csdn.net/jing0611/article/details/4030237 1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配.内存在 程序编译 ...