关于java:学习日常2

32次阅读

共计 1223 个字符,预计需要花费 4 分钟才能阅读完成。

final 是属于润饰类
在类外面增加 final 不能被继承
润饰类

flnal class 类名 {}

举例:

final class a {}

在办法里增加 final 不能被重写
润饰办法

修饰符 final 返回值类型 办法名(参数列表){// 办法体}

举例:

public final String b(int a){a = 1;}

在变量里增加 final 不能被从新赋值
润饰变量
举例:

final int a;
a = 10;
a = 15;// 报错,不可从新赋值
final int b = 10;
b = 15;// 报错,不可从新赋值

不同权限的拜访能力
public protected default(空的)private 在同类中的拜访能力是能够的

public protected default(空的)在同一包中是能够

public protected 在不同包子类是能够

public 在不同包中的无关类是能够

成员外部类
定义格局:

class A{class B{}
}

创立外部类对象格局:

外部类名. 外部类名 对象名 = new 内部类型().new 外部类型();

演示:
(定义类)

public class Person {
  private boolean live = true;
  class Heart {public void jump() {
      // 间接拜访外部类成员
      if (live) {System.out.println("心脏在跳动");
      } else {System.out.println("心脏不跳了");
      }
    }
  }
  public boolean isLive() {return live;}
  public void setLive(boolean live) {this.live = live;}
}

(测试类)

public class InnerDemo {public static void main(String[] args) {
    // 创立外部类对象
    Person p = new Person();
    // 创立外部类对象
    Heart heart = p.new Heart();
    // 调用外部类办法
    heart.jump();
    // 调用外部类办法
    p.setLive(false);
    // 调用外部类办法
    heart.jump();}
}

输入后果:
心脏在跳动
心脏不跳了
匿名外部类
格局:

new 父类名或者接口名(){
  // 办法重名
  @Override
  public void method(){// 执行语句}
};

举例:
(定义接口)

public abstract class a{public abstract void fly();
}

创立匿名外部类,并调用:

public class InnerDemo {public static void main(String[] args) {
    /*
    1. 等号左边: 是匿名外部类,定义并创立该接口的子类对象
    2. 等号右边: 是多态赋值, 接口类型援用指向子类对象
    */
    FlyAble f = new FlyAble(){public void fly() {System.out.println("陈丽好吃屁");
      }
    };
    // 调用 fly 办法, 执行重写后的办法
    f.fly();}
}

正文完
 0