Java 接口、内部类一招解决
interface接口
案例一
UserService接口
package com.oop.demo10;
public interface UserService{
//接口中的所有定义其实都是抽象的 public abstract
//常量的定义:(public static final可省略)
// int Age = 99;
int Age = 99;
void add(String name);//相当于public abstract void run();定义方法;
void delete(String name);
void update(String name);
void query(String name);
}
TimeService接口
package com.oop.demo10;
public interface TimeService {
void timer();
}
UserServiceImpl 实现类
package com.oop.demo10;
//抽象类 extends 只能单继承
//类 可以实现接口 implements 接口 可以多继承
//因为接口也是一个抽象类,所有引用它时要实现它的所有方法 重写接口里面的所有方法
//类和接口还是有区别的,类有方法的实现,而接口只有方法的定义
public class UserServiceImpl implements UserService ,TimeService{
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
@Override
public void timer() {
}
}
内部类
案例一
package com.oop.demo11;
public class Outer {
private int id = 10;
public static void out(){
System.out.println("这是外部类的方法");
}
public class Inner{//如果加了static ,那下面的id 会爆红,因为静态的不能访问非静态的方法
//静态的它是和类一起加载的,最先出现的,比什么的非静态先存在。所以不能用。
public void in(){
System.out.println("这是内部类的方法");
}
//获得外部类的私有属性
public void getID(){
System.out.println(id);
}
}
}
package com.oop.demo11;
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
Outer.out();
//通过这个外部类来实例化内部类
Outer.Inner inner = outer.new Inner();
inner.getID();
}
}
运行结果:
这是外部类的方法
10
扩展案例
package com.oop.demo11;
public class Inner {
//一个Java类中可以有多个class类,都是只能有一个public class
//一个Java类中可以有多个public建的方法。
public void method(){
class Iner{ //局部内部类
public void in(){
}
}
}
}