Java基础学习-抽象类
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基础学习-抽象类的更多相关文章
- Java基础学习--抽象类与抽象函数
abstract class 抽象类不能制造对象,但是可以定义变量,赋给这个变量的一定是他非抽象子类的对象: 抽象类中的抽象函数没有函数体,例如:public abstract void move() ...
- java基础学习笔记五(抽象类)
java基础学习总结——抽象类 抽象类介绍
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- Java基础之抽象类与接口
Java基础之抽象类与接口 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- Java基础学习(2)
Java基础学习(二) 面向对象 对象:客观存在的事物 面向对象:人具体关注的事物的某些信息 类:是模子,确定对象会拥有的特征(属性)和行为(方法) 对象的属性:对象具有的各种特征 对象的方法:对象能 ...
- Java基础学习(4)
Java基础学习(四) String类 特点:创建后不可再修改,看起来的修改只是创建了新的对象 常用方法 StringBuilder类 目的:解决String类频繁创建对象的问题 常用方法 特点:非线 ...
- Java基础学习-- 继承 的简单总结
代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...
随机推荐
- ionic学习笔记—常用命令
Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...
- Redis的慢查询日志
编辑配置文件/etc/redis.conf针对慢查询日志,可以设置两个参数,一个是执行时长,单位是毫秒,另一个是慢查询日志的长度.当一个新的命令被写入日志是,最老的一条会从命令日志队列中被移除slow ...
- 关于C# yield 你会使用吗?
假设有这样一个需求:在一个数据源(下面代码arry)中把其中大于4的数据取出来遍历到前台,怎么做?(不使用linq) , , , , , , , , , }; 第一种情况: 不使用yield的情况下 ...
- save a web page as a single file (mht format) using Delphi code
Here's how to save a web page as a single file (mht format) using Delphi code: uses CDO_TLB, ADODB_T ...
- github使用ssh秘钥的好处以及设置(转)
git使用https协议,每次pull,push都要输入密码,使用git协议,使用ssh秘钥,可以省去每次输密码 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的r ...
- PHPcms 调用命令的基本格式:
PHPcms 调用命令的基本格式: 开始:{pc:content action="模块操作名" catid="调用栏目ID" num="数据调用数量& ...
- Silverlight中获取控件中子控件
如题:,直接来看代码: /// <summary> /// 查找并返回第一个 相同 name的子元素 /// </summary> /// <typeparam name ...
- 【Java Web】把逻辑名映射到servlet文件
Ⅰ.请求URL Ⅱ.容器搜索DD,查找servlet-mapping <?xml version="1.0" encoding="ISO-8859-1" ...
- Python面试题之Super函数
这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简单说, super函数是调用下一个父类(超类)并返回该父类实例的方法. 这里的下一 ...
- jQuery带动画的弹出对话框
在线演示 本地下载