package abstractclass;
/*
 * 抽象类的概述:
 *         1.抽象类用abstract来修饰方法或者类
 *         2.没有具体的方法体的方法便是抽象方法。
 */
class CF{
    public void start(){
        System.out.println("cf启动了");
    }
}
class QQspeed{
    public void start(){
        System.out.println("QQspeed启动了");
    }
}
public class abstractclass {

    public static void main(String[] args) {

    }
}
/*
 *发现在上述的CF和QQspeed类中 都有相同的方法start,但是他们都用不同的内容输出,
 *所以可以抽取他们方法的声明,此时的方法没有具体的方法体,所以没有具体的方法体的方法便是抽象方法
 */
package abstractclass;
 /*抽象类的特点:
 *         1.抽象类不能实例化
 *         2.抽象类中可以有非抽象方法
 *         3.子类继承抽象父类,必须重写父类中的所有的抽象方法
 */

1.抽象类不能实例化
abstract class Animal{
    public abstract void eat();
}
public class absteact_special {
    public static void main(String[] args) {
        Animal Animal=new Animal();
    }
}

2.抽象类中可以有非抽象方法
abstract class Animal{
    public abstract void eat();
    public void run() {
    }
}
public class absteact_special {
    public static void main(String[] args) {
    }
}

 3.子类继承抽象父类,必须重写父类中的所有的抽象方法

abstract class Animal{
    public abstract void eat();
    public void run() {
    }
}
class cat extends Animal{

    @Override
    public void eat() {
        // TODO Auto-generated method stub

    }

}
public class absteact_special {
    public static void main(String[] args) {
    }
}
/*所以一个类继承了抽象父类,要么重写父类中所有的抽象方法,要么自己也是抽象类*/
package abstractclass;
/*抽象类的成员特点
 *             成员变量:可以有成员变量,可以有常量。
 *             成员方法:可以有抽象方法,也可以有非抽象方法
 *             构造方法:可以有构造方法(构造方法是初始化类的成员变量,而不是创建新的对象)
 * final:修饰类:不能被继承
 *            修饰成员变量:常量不能改
 *            修饰成员方法:方法不能被重写
 * */
abstract class Animal{
    public abstract void eat();
    public Animal() {

    }
}
class dog extends Animal{
    String food="dog food";
    final int age=10;
    @Override
    public void eat() {
        // TODO Auto-generated method stub
        System.out.println(food);
    }

}
public class abstract_member {
        public static void main(String[] args) {
            dog dog=new dog();
            dog.eat();
        }
}

Java基础学习-抽象类的更多相关文章

  1. Java基础学习--抽象类与抽象函数

    abstract class 抽象类不能制造对象,但是可以定义变量,赋给这个变量的一定是他非抽象子类的对象: 抽象类中的抽象函数没有函数体,例如:public abstract void move() ...

  2. java基础学习笔记五(抽象类)

    java基础学习总结——抽象类 抽象类介绍

  3. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  4. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  5. Java基础之抽象类与接口

    Java基础之抽象类与接口 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候 ...

  6. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  7. Java基础学习(2)

    Java基础学习(二) 面向对象 对象:客观存在的事物 面向对象:人具体关注的事物的某些信息 类:是模子,确定对象会拥有的特征(属性)和行为(方法) 对象的属性:对象具有的各种特征 对象的方法:对象能 ...

  8. Java基础学习(4)

    Java基础学习(四) String类 特点:创建后不可再修改,看起来的修改只是创建了新的对象 常用方法 StringBuilder类 目的:解决String类频繁创建对象的问题 常用方法 特点:非线 ...

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

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

随机推荐

  1. Linux Shell编程第5章——文件的排序、合并和分割

    目录 sort命令 sort命令的基本用法 uniq命令 join命令 cut命令 paste命令 split命令 tr命令 tar命令 sort命令 sort命令是Linux系统一种排序工具,它将输 ...

  2. Python框架之Tornado (源码之褪去模板外衣)

    上一篇介绍了客户端请求在tornado框架中的生命周期,其本质就是利用epoll和socket来获取并处理请求.在上一篇的内容中,我们只是给客户端返回了简单的字符串,如:“Hello World”,而 ...

  3. 执行用例,并生成报告——discover,HTMLRunner

    HTMLRunner需要下载Python3的格式,懒人链接:http://pan.baidu.com/s/1tp3Ts 参考:http://bbs.chinaunix.net/thread-41547 ...

  4. windows下线程库的使用

    下载PTHREAD的WINDOWS开发包 pthreads-w32-2-4-0-release.exe(任何一个版本均可)   http://sourceware.org/pthreads-win32 ...

  5. Javascript中call()和apply()的用法 ----2

    前言 call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.call 和 apply二者的作用完全一样,只是接受 ...

  6. IE6/7 下:inline-block解决方案

    6/IE7下:inline-block解决方案   IE6/IE7下对display:inline-block的支持性不好. 1.inline元素的display属性设置为inline-block时, ...

  7. get app id

    Install Download the Web AppBuilder for ArcGIS (Developer Edition) ZIP file to your local drive and ...

  8. WPF ListBox ItemContainerStyle 设置BackGround 和 BorderBrush 无效

    今天更改ListBox,用到ItemContainerStyle设置样式,设置Style.Triggers时,BackGround和BorderBrush均无效,其他效果正常. 翻看WPF编程宝典,发 ...

  9. Cookie应用参考

    内容来自imooc.

  10. ijkplayer实现IMediaDataSource

    由于ijkplayer不能识别android.resource类型的资源在播放raw中的文件的时候用IjkMediaPlayer不能正常播放,实现IMediaDataSource为IjkMediaPl ...