java 8-8 接口的练习
/*
老师和学生案例,加入抽烟的额外功能
分析:
老师和学生都具有共同的变量:名字,年龄
共同的方法:吃饭,睡觉
老师有额外的功能:抽烟(设定个接口),部分抽烟 有共同的变量和方法,设一个父类:person类 抽象类
person类:
名字,年龄
吃饭(); 抽象方法,可重写
睡觉(){};成员方法
子类:
teacher类和teacher类可继承父类。
但,部分老师和学生抽烟,则与抽烟接口进行扩展
*/ //设定抽烟接口
//接口的变量是:静态常量最终量;接口没有构造方法,接口的成员方法是:抽象方法
interface Smoking{
// 静态 常量 最终量:public static final int a = 2; 有变量就这样写,这里不需要常量
public abstract void smoking();//抽象方法没有方法体
} //设定父类:抽象类
abstract class perSon4{ //成员变量
private String name;
private int age; //构造方法
public perSon4(){}
public perSon4(String name, int age){
this.name = name;
this.age = age;
}
//getXxx、setXxx。
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
} //抽象方法 吃饭
public abstract void eat();
//成员方法
public void sleep(){
System.out.println("Zzz...");
}
} //子类 老师类 继承父类
class teacher5 extends perSon4{
//无参构造方法
public teacher5(){}
//有参构造方法
public teacher5(String name,int age){
super(name,age);
}
public void eat() {
System.out.println("下班回去睡觉");
}
} //子类 学生类 继承父类
class student5 extends perSon4{
//构造方法
public student5(){}
public student5(String name,int age){
super(name,age);
}
public void eat(){
System.out.println("下课回家睡觉");
}
} //部分老师抽烟,扩展抽烟接口 class SmokTeacher5 extends teacher5 implements Smoking{
//继承了老师类,则把老师类的所有变量方法弄出来:
public SmokTeacher5(){}
public SmokTeacher5(String name,int age){
super(name,age);
}
public void smoking() {
System.out.println("抽烟的老师");
}
} //部分学生抽烟 class SmokStudent5 extends student5 implements Smoking{
//继承了学生类,则把学生类的所有变量方法写出来:
public SmokStudent5(){}
public SmokStudent5(String name,int age){
super(name,age);
}
public void smoking() {
System.out.println("抽烟的学生");
}
} //测试类 class InterfaceTest1 {
public static void main(String[] args){ //测试学生类 直接调用继承了类和扩张了方法的类
SmokStudent5 s = new SmokStudent5("张三",20);
s.smoking();
s.eat();
s.sleep(); System.out.println("---------"); //测试老师类
SmokTeacher5 t = new SmokTeacher5("李四",33);
t.smoking();
t.eat();
t.sleep();
}
}
java 8-8 接口的练习的更多相关文章
- 【转】java通用URL接口地址调用方式GET和POST方式
java通用URL接口地址调用方式GET和POST方式,包括建立请求和设置请求头部信息等等......... import java.io.ByteArrayOutputStream; import ...
- Java继承和接口
接口最关键的作用,也是使用接口最重要的一个原因:能上溯造型至多个基础类.使用接口的第二个原因与使用抽象基础类的原因是一样的:防止客户程序员制作这个类的一个对象,以及规定它仅仅是一个接口.这样便带来了一 ...
- java中set接口的用法
java中的set接口有如下的特点: 不允许出现重复元素: 集合中的元素位置无顺序: 有且只有一个值为null的元素. 因为java中的set接口模仿了数学上的set抽象,所以,对应的数学上set的特 ...
- Java调用webservice接口方法
java调用webservice接口 webservice的 发布一般都是使用WSDL(web service descriptive langu ...
- Java面向对象:接口
Java面向对象之接口 什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... ...
- JAVA ,Map接口 ,迭代器Iterator
1. Map 接口概述 java.util.Map 接口描述了映射结构, Map 接口允许以键集.值集合或键 - 值映射关系集的形式查看某个映射的内容. Java 自带了各种 Map 类. 这些 ...
- java抽象类和接口区别
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- java抽象类与接口的区别及用法
java抽象类与接口的区别及用法 一.抽象类里面的方法可以有实现,但是接口里面的方法确是只能声明. 二.接口是设计的结果 :抽象类是重构的结果 . 三.java不支持多重继承,所以继承抽象类只能继承一 ...
- 如何让Java和C++接口互相调用:JNI使用指南
如何让Java和C++接口互相调用:JNI使用指南 转自:http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos ...
- Java中的队列:java.util.Queue接口
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作. Queue接口与List.Set同一级别,都是继承了Collection接口.Linked ...
随机推荐
- MySQL Fabric 分片性能测试
苦逼的人生,开始了新一轮调研.这次是上面要看 MySQL Fabric 分片性能,好吧,开搞. 1 啥是 MySQL Fabric 其实就是一个Python进程和应用端的Connector的组合.来一 ...
- __proto__
proto 以前要访问原型, 必须使用构造函数来实现. 无法直接使用实例对象来访问原型. 火狐最早引入属性 __proto__ 表示使用实例对象引用原型. 但是早期是非标准的. 通过该属性可以允许使用 ...
- SAP和Java系统的Webservice实例
简介: 关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术.由于其跨平台.跨防火墙.开发成本低.开发周期短等优势 ...
- FME中Cass扩展属性转Shp的方法
问题:真受不了CAD中的注记,只能方便显示,难于数据交互.好在Cass把属性信息基本写在扩展属性中,但显示又成问题了.此事难两全!我们通过查看实体属性,需要把宗地界线的扩展属性提取出来.即组码为-3, ...
- Convert part to feature command
Search 库主页 Related Links ArcObjects SDK for ArcGIS 10Microsoft Help System Documentation Convert par ...
- Upgrading or Redeploying SharePoint 2010 Workflows
While creating several State Machine SharePoint 2010 workflows using visual studio for a client I ha ...
- 公司outing选项
Sign up: 2014 Summer Outing 请您从以下三个方案中选择您最感兴趣的一个项目, 如果您不能参加此次summer outing, 请选择"遗憾放弃"- ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q22-Q24)
Question22You create a Feature.You need to remove the link to the Site Content Type page from the Si ...
- object-c中的类目,延展,协议
协议 协议只有方法的声明(类似于其他编程语言的接口) 协议相当于大家都所遵循的 关键字 @protocol 协议名 <所遵循的协议> 默认NSObject @end @pr ...
- iOS 通过二进制判断图片类型
+ (NSString *)typeForImageData:(NSData *)data { uint8_t c; [data getBytes:&c length:1]; switch ( ...