Java面向对象中接口
2016-07-03 08:30
573 查看
面向对象—接口
接口概念
package com.cloud.day2; /* 接口: 接口:拓展功能的。 usb接口.。。 接口的定义格式: interface 接口名{ } 接口要注意的事项: 1. 接口是一个特殊的类。 2. 接口的成员变量默认的修饰符为: public static final 。那么也就是说接口中的成员变量都是常量。 3. 接口中的方法都是抽象的方法,默认的修饰符为: public abstract。 4. 接口不能创建对象。 5. 接口是没有构造方法的。 6. 接口是给类去实现使用的,非抽象类实现一个接口的时候,必须要把接口中所有方法全部实现。 实现接口的格式: class 类名 implements 接口名{ } */ interface A{ public static final int i = 10; public void print(); } public class Demo1 implements A{ public static void main(String[] args) { Demo1 d = new Demo1(); d.print(); } @Override public void print() { System.out.println("接口中的方法...."); } } |
接口的作用
package com.cloud.day2; /* 接口的作用: 1. 程序的解耦。 (低耦合) 2. 定义约束规范。 3. 拓展功能。 */ class Pencil{ String name; public Pencil(String name){ this.name = name; } public void write(){ System.out.println(name+"写字..."); } } interface Erase{ public void remove(); } //带橡皮的铅笔 class PencilErase extends Pencil implements Erase{ public PencilErase(String name) { super(name); } @Override public void remove() { System.out.println("修改..."); } } public class Demo2 { public static void main(String[] args) { PencilErase pe = new PencilErase("2B铅笔"); pe.write(); pe.remove(); } } |
实现接口
package com.cloud.day2; /* 需求:在现实生活中有部分同学在学校期间只会学习,但是有部分学生除了学习外还会赚钱。 interface (定义接口) implements (实现接口) 分析: 普通的学生类 接口 会挣钱的学生 */ class Student { String name; public Student(String name){ this.name = name; } public void study(){ System.out.println(name+"study..."); } } interface EarnMoney{ public void getMoney(); } class StudentMoney extends Student implements EarnMoney{ public StudentMoney(String name) { super(name); } @Override public void getMoney() { System.out.println("getMoney..."); } } public class Demo3 { public static void main(String[] args) { StudentMoney sm = new StudentMoney("ss"); sm.study(); sm.getMoney(); } } |
类和接口
package com.cloud.day2; /* 类与接口之间关系:实现关系。 类与接口要注意的事项: 1. 非抽象类实现一个接口时,必须要把接口中所有方法全部实现。 2. 抽象类实现一个接口时,可以实现也可以不实现接口中的方法。 3. 一个类可以实现多个接口。 疑问: java为什么不支持多继承,而支持了多实现呢? class A{ public void print(){ System.out.println("AAAAAA"); } } class B{ public void print(){ System.out.println("BBBBBB"); } } class C extends A ,B{ } new C().print(); 接口与接口之间关系:继承关系。 接口与接口之间要注意事项: 1. 一个接口是可以继承多个接口的。 */ interface Aa{ public void print(); } interface Bb{ public void getArea(); } interface Cc extends Aa,Bb{ public void test(); } public class Demo4 implements Cc{ public static void main(String[] args) { } @Override public void print() { } @Override public void getArea() { } @Override public void test() { } } |
相关文章推荐
- Java千百问_02基本使用(012)_如何编写非阻塞SocketChannel程序
- 给Eclipse添加各类插件
- Spring的JDBCTemplate批量更新的性能问题
- 学习JDK内置纯JAVA数据库Derby
- java三大框架之Hibernate的个人学习
- java三大框架之Hibernate的个人学习
- java三大框架之Hibernate的个人学习
- java三大框架之Hibernate的个人学习
- java中的匿名内部类总结
- JAVA中的URI,URL,URN(转)
- Spring通过@Value注解注入属性的几种方式
- Spring中配置和读取多个Properties文件
- propertiesfactorybean vs propertyplaceholderconfigurer spring?
- JDK和两个JRE
- SPRING SECURITY 3.X 完整入门教程(转)
- Servlet的基本认识
- Java IO _压缩流
- Spring定时任务的几种实现 附实例
- struts2自定义拦截器
- Eclipse中mvn compile install 等 报错error in opening zip file