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 ...
随机推荐
- RS232串口通信
RS232串口经常使用在PC机与FPGA通信中,用于两者之间的数据传输,因为UART协议简单.易实现,故经常使用. DB9接口只需要使用3根线,RXD(2).TXD(3)和GND(5),如下图所示.而 ...
- 跨平台编译CMake使用
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的 ...
- CNN学习笔记:激活函数
CNN学习笔记:激活函数 激活函数 激活函数又称非线性映射,顾名思义,激活函数的引入是为了增加整个网络的表达能力(即非线性).若干线性操作层的堆叠仍然只能起到线性映射的作用,无法形成复杂的函数.常用的 ...
- Python 中的条件运算符
一.概述 在 C.Java 等语言中,有一种常见的条件运算符,又叫"三目运算符". 详情参见 [条件运算符-wikipedia][https://zh.wikipedia.org/ ...
- Linux信号signal处理机制
信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断.从它的命名可以看出,它的实质和使用很象中断.所以,信号可以说是进程控制的一部分. 一.信号的基本概念 ...
- [MySQL] 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
前言: 关于多级别菜单栏或者权限系统中部门上下级的树形遍历,oracle中有connect by来实现,MySQL没有这样的便捷途径,所以MySQL遍历数据表是我们经常会遇到的头痛问题 ...
- java GC 回收机制 转
JVM分代垃圾回收策略的基础概念 由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略.本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素. 文章总结了JVM垃圾回收策略为 ...
- Spring 之定义切面尝试(基于注解)
[Spring 之定义切面尝试] 1.标记为深红色的依赖包是必须的 <dependency> <groupId>org.springframework</groupId& ...
- 服务端Job调度程序
GIT地址:https://github.com/youbl/PlanServer
- 20145240 GDB调试汇编堆栈过程分析
20145240 GDB调试汇编堆栈过程分析 测试代码 #include<stdio.h> short addend1 = 1; static int addend2 = 2; const ...