1.接口:
接口:只有规范!自己无法写方法 专业的约束! 约束到和实现分离:面向接口编程。
接口的本质是契约!!!
声明类的关键词是class,声明接口的关键字是interface。
implenents:接口的实现
作用:1.约束 2.定义一些方法,让不同的人实现~
3.public abstract//所有的方法
4.public static final//所有的常量
5.接口不能被实例化~接口中没有构造方法
6.impments可以实现多个接口
7.必须要重写接口中的方法
接口①:
//申明接口 interface 定义的关键字,接口都需要有实现类
//抽象的思维~Java
public interface UserService {
//接口中的所有定义的方法其实都是抽象的public abstract
int age = 99;
String add (String name);
void delete (String name);
void update (String name);
void query (String name);
}
接口②:
public interface TimeService {
void timer();
}
接口的实现
//类 可以实现接口 implements
//抽象类 extends~
//实现了接口的类就需要重写接口中的方法
//多继承~ 利用接口实现多继承
public class UserServiceImpl implements UserService,TimeService{//',' 多接口
@Override
public void timer() {
}
@Override
public String add(String name) {
System.out.println("我是"+name);
return name;
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
}
main方法:
public class Test {
public static void main(String[] args) {
UserServiceImpl a = new UserServiceImpl();
a.add("周杰伦");
}
}
结果:我是周杰伦
2 内部类:
概念:在一个类的内部再定义一个完整的类.
特点:*编译之后可生成独立的字节码文件。
*内部类可直接访问外部类的私有成员,而不破坏封装。
*可为外部类提供必要的内部功能组件
1.成员内部类 2.静态内部类 3.局部内部类 4.匿名内部类
1.成员内部类
public class Application {
public static void main(String[] args) {
//new
Outer outer = new Outer();
//通过外部类来实例化内部类
Outer.Inner inner = outer.new Inner();
inner.in();
inner.getID();
}
}
-----------------------------------------
public class Outer {
private int id=7;
public void out(){
System.out.println("这是外部类的方法");
}
public class Inner{
public void in(){
System.out.println("这是内部类的方法");
}
//获取外部类的私有属性
public void getID(){
System.out.println(id);
}
}
}
结果:这是内部类的方法
7