Day19-Java
面向对象
接口
-
普通类:只有具体实现
-
抽象类:具体实现和规范(抽象方法)都有
-
接口:只有规范,自己无法写方法,专业的约束,约束和实现分类
-
声明接口的关键字是interface
-
接口不能被实例化,接口中没有构造方法
-
implements可以实现多个接口
-
必须要重写接口中的方法
package com.Kong.Oop.demo08;
//interface定义的关键字,接口都需要实现类
public interface UserService {
//常量,public static final可以不写
int age=10;
//接口中的所有定义的方法都是抽象的,public abstract可以不写
void sayHello(String name);
void delete (String name);
void update (String name);
void query (String name);
}
package com.Kong.Oop.demo08;
public interface TimeService {
void timer();
}
package com.Kong.Oop.demo08;
//抽象类:extents
//类 可以实现接口 implements一个接口
//实现了接口的类,就需要重写接口中的方法
//利用接口实现多继承
public class UserServiceImpl implements UserService, TimeService {
@Override
public void timer() {
}
@Override
public void sayHello(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
}
内部类
- 内部类就是在一个类的内部再定义一个类
package com.Kong.Oop.demo09;
public class Outer {
private int id=1;
public void out(){
System.out.println("这是外部类的方法");
}
public class Inner{
public void in(){
System.out.println("这是内部类的方法");
}
//获得外部类的私有属性
public void getid(){
System.out.println(id);
}
}
//静态内部类不能访问外部非静态属性
public static class Sinner{
public void in(){
System.out.println("这是内部类的方法");
}
}
//一个java类中可以有多个class类,但是只能有一个public class
class Inner2{}
//局部内部类
public void method(){
class Inner{
public void in(){
}
}
}
}
package com.Kong.Oop;
import com.Kong.Oop.demo09.Outer;
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
outer.out();
Outer.Inner inner= outer.new Inner();
inner.getid();
}
}
package com.Kong.Oop.demo09;
public class Test {
public static void main(String[] args) {
//没有名字的初始化类,不用将实例保存到变量中
new Appel().eat();
UserService userService=new UserService(){
@Override
public void hello() {
}
};
}
}
class Appel{
public void eat(){
System.out.println("eat");
}
}
interface UserService{
void hello();
}
浙公网安备 33010602011771号