小白学JAVA,与你们感同身受,JAVA---day6:抽象类接口的理解。鲁迅的一句话:总之岁月漫长,然而值得等待。
抽象类接口的理解
鲁迅的一句话:总之岁月漫长,然而值得等待。
/*
抽象类中的面试题:
1.一个抽象类中可不可以没有抽象方法:可以,这样做的目的只有一个,就是不让其他类创建本类对象交给子类完成。
2.abstract关键字不能和哪些关键字共存:
static final private
接口的概述与特点:
对外提供规则的都是接口,Java中interface为定义接口的关键字。
类实现接口用implements关键字。
接口不能实例化,用多态的方式来实例化。
接口的子类要重写接口中的所有抽象方法。
接口中的成员特点:
1.成员变量只能是常量,并且是静态的公共的,public static final。
2.构造方法:接口没有。
3.成员方法:只有抽象方法,public abstract。
类、接口之间的联系:
1.类与类:继承关系,只能单继承,可以多层继承。
2.类与接口:实现关系,能多实现,可以继承一个类的同时实现多个接口。
3.接口与接口:继承关系,可以单继承,也可以多继承。
抽象类和接口的理念:
1.抽象类被继承体现的是"is a"的关系,抽象类中定义的是该继承体系中的共性功能。
2.接口被实现体现的是"like a"的关系,接口中定义的是该实现体系中的扩展功能。
*/
/*
interface InterA{
abstract void printA();
}
interface InterB{
abstract void printB();
}
interface InterC extends InterA,InterB{
}*/
class day6{
public static void main(String[] args) {
new Dog(16,"老大").eat();
new Dog(18,"老二").sleep();
new Cat(13,"花花").eat();
new Cat(12,"草草").sleep();
new Cat(12,"草草").jump();
}
}
/*
class demo implements InterC{
public void printA(){
System.out.println("接口A");
}
public void printB(){
System.out.println("接口B");
}
}
*/
interface Jump{
public abstract void jump();
}
abstract class Animal{
private int age;
private String name;
public Animal(){
}
public Animal(int age,String name){
this.age=age;
this.name=name;
}
abstract void eat();
abstract void sleep();
void setAge(int age){
this.age=age;
}
void setName(String name){
this.name=name;
}
int getAge(){
return this.age;
}
String getName(){
return this.name;
}
}
class Dog extends Animal{
public Dog(int age,String name){
super(age,name);
}
void eat(){
System.out.println(this.getAge()+"的"+this.getName()+"成功吃饭");
}
void sleep(){
System.out.println(this.getAge()+"的"+this.getName()+"睡觉");
}
}
class Cat extends Animal implements Jump{
public Cat(int age,String name){
super(age,name);
}
void eat(){
System.out.println(this.getAge()+"的"+this.getName()+"成功吃饭");
}
void sleep(){
System.out.println(this.getAge()+"的"+this.getName()+"睡觉");
}
public void jump(){
System.out.println(this.getAge()+this.getName()+"学会了跳高");
}
}
小白学JAVA,与你们感同身受,JAVA---day6:抽象类接口的理解。鲁迅的一句话:总之岁月漫长,然而值得等待。相关推荐
- 小白学JAVA,与你们感同身受,JAVA---day5:关于多态的理解和分析。鲁迅的一句话:总之岁月漫长,然而值得等待。
鲁迅的一句话:总之岁月漫长,然而值得等待. 至于是不是他说的,就看大家的了. /* 多态:事物存在的多种形态. 多态的前提: 1.要有继承关系. 2.要有方法的重写. 3.要有父类引用指向子类对象. ...
- 课程设计-毕业设计-JAVA画板课程设计---总之岁月漫长,然而值得等待。
在校大学生的一份辛苦劳动成果写了一个小画板程序. 任务书... 1 1.1设计内容... 1 1.2设计任务及具体要求... 1 1.3软件开发运行环境.. 1 2 本组课题... 1 2.1课题. ...
- 【JVM从小白学成大佬】4.Java虚拟机何谓垃圾及垃圾回收算法
在Java中内存是由虚拟机自动管理的,虚拟机在内存中划出一片区域,作为满足程序内存分配请求的空间.内存的创建仍然是由程序猿来显示指定的,但是对象的释放却对程序猿是透明的.就是解放了程序猿手动回收内存的 ...
- 初始Java Java SE 包,继承,组合,多态,抽象类,接口
目录 包 1.静态导入 2.将类放到包中 3.包的访问权限控制 继承 基本语法: 注意事项: protected 关键字 final 关键字 组合 多态 向上转型: 动态绑定 方法重写 重写的规则 : ...
- java ee2019 11 5关于多态 抽象类 接口
1 猫狗案例 多态版(继承版) class Animal{//成员方法private String name ; private int age ;//无参构造public Animal(){}//有 ...
- 小白学Django第九天| Cookie和session的那些骚操作
点击上方"JAVAandPython君",选择"星标"公众号 重磅干货,第一时间送达 小白学Django系列: 小白学Django第一天| MVC.MVT以及D ...
- 小白学Django第十天| 模板的知识全部给你总结好了!
点击上方"JAVAandPython君",选择"星标"公众号 重磅干货,第一时间送达 小白学Django系列: 小白学Django第一天| MVC.MVT以及D ...
- 零基础小白学Java难度大不大
零基础小白学Java难度大不大?有很多人都是非常关心这个问题的,如今java在IT互联网行业的快速发展,引起了很多人的注意,那么,哪些人适合入行Java?零基础学习Java难度大吗?下面,小编就为大家 ...
- 零基础学Java需知:Java小白入门解疑大全
Java行业在互联网发展迅速的今天是一日比一日发展的好,Java语言已经成为世界上应用较广泛的编程语言.学Java已经成为编程语言中的潮流,越来越多的人有意向到Java行业中发展. 其实,零基础学习J ...
最新文章
- 垃圾热解气化工艺的电气、仪表及控制系统设计
- 如何使用IcoMoon字体图标
- 7 centos 源码安装samba_Centos-7安装zabbix
- Jquery实现类似百度的搜索框
- 【助教】关于代码提交相关注意事项
- activity任意节点跳转
- 【经验分享】linux交叉编译 - openssl动态库
- sqlserver management studio 2014 升级2016_画质提升音质更佳:Insta360影石ONE R迎来最强升级...
- win10企业版永久关闭自动更新
- 【C#】开发可以可视化操作的windows服务
- 特征选择算法之ReliefF算法python实现
- 批量修改文件夹下所有文件名称
- 输入一英文字符串(字符串长度限制在200个字符以内),单词间仅用一个或多个空格间隔(即没有标点符号),编写程序将此字符串中第1个最长的单词输出。 输入输出样例: memory has no re
- 果木浪子吉他入门零基础教学(70课时)
- Java实现 定义一个名为Rectangle的类表示矩形 求面积周长
- Hark的数据结构与算法练习之堆排序
- 《当程序员的那些狗日日子》(八)床上等你
- 【机器翻译】《Gradient-guided Loss Masking for Neural Machine Translation》论文总结
- 北京办理居住证的全流程
- 代扣代收 VS 代付代发
热门文章
- Linux内存,先看这篇文章
- 一个看似是系统问题的应用问题的解决过程
- python语言中strike_Python学习笔记
- 智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
- LeetCode 5832. 构造元素不等于两相邻元素平均值的数组
- 05.序列模型 W1.循环序列模型(作业:手写RNN+恐龙名字生成)
- LeetCode MySQL 1511. Customer Order Frequency
- LeetCode 269. 火星词典(拓扑排序)
- LeetCode 1176. 健身计划评估(滑动窗口)
- numpy 随机数_TF+Numpy减少随机性的影响