Java面向对象04

时间:2021-06-02 14:59:24   收藏:0   阅读:0

Java 面向对象04

接口

声明接口的关键字是 interface

代码示例:

接口:

//抽象类 extends
//类 可以实现接口 implements 接口
//实现了接口的类,必须重写接口中的方法
//利用接口实现多继承
public class UserServiceImpl implements UserService,TimeService{
    @Override
    public void timer() {
    }

    @Override
    public void add(String name) {
    }

    @Override
    public void delete(String name) {
    }

    @Override
    public void update(String name) {
    }

    @Override
    public void query(String name) {
    }
}

UserService

//interface 关键字
public interface UserService {

    //常量
    int Age = 99;

    //接口的所有定义都是抽象的public
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
}

TimeService

public interface TimeService  {
    void timer();
}

接口的作用:

  1. 约束
  2. 定义一些方法,让不同的人实现~
  3. public abstract
  4. public static final
  5. 接口不能被示例化,接口中没有构造方法
  6. implements可以实现多个接口

拓展:面向对象的23种模式

内部类

代码:

mian()

import oop.Demo10.Outer;

public class Application {
    public static void main(String[] args) {
        //new
        Outer outer = new Outer();

        //通过外部类来实例化内部类
        Outer.Inner inner = outer.new Inner();
        inner.getId();//若为静态内部类则无法获得ID,因为Static关键字先执行

    }
}
  1. 成员内部类
public class Outer {

    private int ID = 10;
    public void out(){
        System.out.println("outer!");
    }
    public class Inner{
        public void in(){
            System.out.println("Inner!");
        }
        //获得外部类的私有属性
        public void getId(){
            System.out.println(ID);
        }
    }
}
  1. 静态内部类
public class Outer {

    private int ID = 10;
    public void out(){
        System.out.println("outer!");
    }
    public static class Inner{
        public void in(){
            System.out.println("Inner!");
        }
    }
}
  1. 局部内部类
public class Outer {
    //局部内部类
    public void method(){
        class Inner{
            public void in(){
                
            }
        }
    }
}
  1. 匿名内部类
public class Outer {
    public static void main(String[] args) {
        //没有名字初始化,不用将示例保存在变量中
        new Apple().eat();
        new UserService(){
            @Override
            public void Hello() {
            }
        };
    }
}
class  Apple{
    public void eat(){
        System.out.println("eat!");
    }
}

interface UserService{
    void Hello();
}
public class Outer {
public static void main(String[] args) {
    }
}

//一个Java类中可以有多个class类,但只能有一个public class
class A{
    public static void main(String[] args) {
    }
}

异常

示例代码:

public class Demo01 {
    public static void main(String[] args){
        new Demo01().a();
    }

    public void a(){
        b();
    }
    public void b(){
        a();
    }
}//StackOverflowError
public class Demo01 {
    public static void main(String[] args){
        System.out.println(11/0);//0做除数
    }
}
//ArithmeticException

简单分类

异常体系结构

技术图片

Error

Exception

Error 和 Exception 的区别:

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!