JAVA接口

  1. 继承:

代码利用的方式,子类与父类之间的关系

语法

访问控制修饰符 class 类名 extends 父类名{

}

 

访问控制修饰符:public protected default private

规则:

  • 同一个包类,子类可以得到父类private(私有)之外的所有属性和方法
  • 在不同的包内,子类只可以得到父类public修饰的属性和方法

 java类的祖先:Object

    • equals():比较地址是否相同
    • hasCode():
    • toString():输出类句@16进制的哈希值

 

  1. 重写:

子类覆盖父类同名的方法

final关键字:不可变

public static final PAGE_SIZE = 18;

final修饰的类不能作为父类被子类继承

  1. 多态:

多种形态:随着父类/接口指针指的不同,同一段代码执行时呈现出不同的结果

一、接口

    作用:用来定义规则。

    

    注意:

  • 接口中所有东西全部都是public(公共) 的
  • 对于   常量    系统会  默认  加上public static final
  • 对于    方法申明   系统会  默认  加上public abstract
  • 接口实验类    不能  从接口中得到  静态方法
  • 接口实验类    可以  从接口中得到  默认方法
  • 静态方法  只能  通过接口的名称来访问

接口用来定义语法规则,让别的类实现

        语法:

控制修饰符 class 类名 implements 接口名{

        //接口中抽象方法的实现

}

eclipse源代码:

 1 package day10;
 2 public class 接口 {
 3 //定义接口
 4  public interface Traffic{
 5  public static final int sits = 4;
 6  public abstract void run();
 7  public abstract void stop(); 
 8 }
 9 //调用接口
10  public class bwm implements Traffic{
11   
12   @Override
13  public void run() {
14    System.out.println("bwm:500km/h");
15   }
16   @Override
17   public void stop() {
18    System.out.println("bwm:10m");
19   }
20  }
21  
22 }
23 package day10;
24 import day10.接口.Traffic;
25 //测试:
26 public class 接口的测试类 {
27 public static void main(String[ ] args) {
28  Traffic traffic;
29  traffic = new cat();
30  System.out.println(traffic.sits);
31  traffic.run();
32  traffic.stop();
33 }
34 }
35 示例:
36 public interface Traffic {
37  public static final int SEATS = 5;
38  public abstract void run();
39  public abstract void brake();
40  
41  static void fun1() {
42   System.out.println("static");
43  }
44  
45  default void fun2() {
46   System.out.println("default");
47  }
48 }
49 public static void main(String[ ] args) {
50  Traffic.fun1();
51  
52  Traffic traffic = new BWM();
53  traffic.fun2();
54  //traffic.fun1();
55  
56  BWM bwm = new BWM();
57  bwm.fun2()
58 }

 


抽象类

    • 包含抽象方法的类叫抽象类
    • 抽象类,需要使用    abstract    关键字修饰
    • 抽象类中可以  有普通的方法
    • 抽象类中可以  包含抽象方法
    • 抽象类和普通类唯一的区别:它使用abstract修饰,里面可以有抽象方法。
    • 不能使用抽象类创建对象,即使这个抽象类中没有抽象方法

        示例:

 1 package day10;
 2 public class 抽象类 {
 3 public abstract class AA {
 4  
 5  
 6  private int a;
 7  private static final int b = 2;
 8  
 9  
10  static {
11  }
12  
13  {
14  }
15  public AA() {
16  }
17  
18  abstract void fun();
19  
20  void fun1() {
21  }
22  
23  public static void main(String[] args) {
24   new AA();
25  }
26 }
27 }

 


内部类:

定义在一个类/方法中的类

1 public class ABC {
2  class A {
3 }
4 public void fun() {
5  class B{
6 }
7 }
8 }

 

posted @ 2019-06-30 02:31  盛开着永不凋零  阅读(101)  评论(0编辑  收藏  举报