zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    【UOJ 53】线段树区间修改
    【洛谷 1057】传球游戏
    【洛谷 2430】严酷的训练
    【UOJ 51】最接近神的人
    【洛谷 1908】逆序对
    【UOJ 50】树状数组2
    Kafka单机安装
    Linux查看磁盘使用情况命令
    CentOS7查看和关闭防火墙
    Kafka学习(三)——Java工具类、Springboot集成批量消费、SparkStreaming集成
  • 原文地址:https://www.cnblogs.com/yuandongshisan/p/11108517.html
Copyright © 2011-2022 走看看