您的位置:首页 > 编程语言 > Java开发

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() {
     
   }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: