目录
一、为什么使用接口
1、Door.java
package 接口_异常.InterfaceDemo;
public abstract class Door {
/* public Door(){
}*/
//开门
public abstract void openDoor();
//关门
public abstract void closeDoor();
/*public static void main(String[] args) {
}*/
}
2、DoorBell.java
package 接口_异常.InterfaceDemo;
public interface DoorBell {
//拍照存储
public abstract void photo();
}
二、接口的基本使用
1、Lock.java
package 接口_异常.InterfaceDemo;
public interface Lock {
public static final int num = 100;
//public Lock(){}
//开锁
public abstract void openLock();
//上锁
public abstract void closeLock();
}
2、LockDoor.java
package 接口_异常.InterfaceDemo;
public class LockDoor extends Door implements Lock {
@Override
public void openDoor(){
System.out.println("开门");
}
@Override
public void closeDoor(){
System.out.println("关门");
}
@Override
public void openLock(){
System.out.println("开锁");
}
@Override
public void closeLock(){
System.out.println("关锁");
}
@Override
public void photo() {
System.out.println("咔嚓咔嚓... ...图片被存储了");
}
}
3、TestLockDoor.java
package 接口_异常.InterfaceDemo;
public class TestLockDoor {
public static void main(String[] args) {
LockDoor lockDoor = new LockDoor();
lockDoor.openLock();
lockDoor.openDoor();
lockDoor.closeDoor();
lockDoor.closeLock();
lockDoor.photo();
}
}
4、DoorBell.java
package 接口_异常.InterfaceDemo;
public interface DoorBell {
//拍照存储
public abstract void photo();
}
三、内部类
1、Outerclass.java
public class OuterClass{
private String name = "张飞";
private int id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public void show(){
System.out.println("这是外部类的show方法");
// System.out.println(gender);
// test();
//创建类对象
// InnerClass innerClass = new InnerClass();
// System.out.println(innerClass.gender);
// innerClass.test();
}
//成员内部类
class InnerClass{
private String gender;
private String name = "赵云";
// private static String no;
public void test(){
System.out.println("这是内部类的test方法");
// System.out.println(gender);
// System.out.println(name);
// System.out.println(id);
// show();
System.out.println(name);
System.out.println(this.name);
System.out.println(OuterClass.this.name);
// OuterClass outerClass = new OuterClass();
// outerClass.show();
}
class InnerInnerClass{
public void test1(){
System.out.println("这是内部类中的内部类");
}
}
}
//主方法/入口方法
// public static void main(String[] args) {
// InnerClass innerClass = new OuterClass().new InnerClass();
// }
}
2、TestOuterclass.java
public class OuterClass{
private String name = "张飞";
private int id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public void show(){
System.out.println("这是外部类的show方法");
// System.out.println(gender);
// test();
//创建类对象
// InnerClass innerClass = new InnerClass();
// System.out.println(innerClass.gender);
// innerClass.test();
}
//成员内部类
class InnerClass{
private String gender;
private String name = "赵云";
// private static String no;
public void test(){
System.out.println("这是内部类的test方法");
// System.out.println(gender);
// System.out.println(name);
// System.out.println(id);
// show();
System.out.println(name);
System.out.println(this.name);
System.out.println(OuterClass.this.name);
// OuterClass outerClass = new OuterClass();
// outerClass.show();
}
class InnerInnerClass{
public void test1(){
System.out.println("这是内部类中的内部类");
}
}
}
//主方法/入口方法
// public static void main(String[] args) {
// InnerClass innerClass = new OuterClass().new InnerClass();
// }
}