Java入门-09、final、内部类的认识

final关键字的使用

final:不可改变。可以用于修饰类、方法和变量。

  • 被修饰的类不能被继承
  • 被修饰的方法不能被重写
  • 被修饰的变量,不能被重新赋值

1、被final所修饰的局部变量只能够进行一次赋值操作,随后不能改变
2、引用类型的局部变量被final修饰后,只能指向同一个对象,地址值不能发生改变
3、final对成员变量的初始化的两种方法

class User{
    //第一种初始化数变量方法
    final String NAME="张三";

    /*第二种初始化则在构造函数里面
    final String NAME;
    public User(String name){
        this.NAME = name;
    }*/

    public void run(){
        System.out.println("run");
    }
}

public class FinalUsing {
    public static void main(String[] args) {
        final int a = 10;
        //a=20; // 报错,被final修饰的变量不能进行二次赋值
        System.out.println(a);

        //引用类型的局部变量被final修饰后,只能指向同一个对象,地址值不能发生改变
        final User u = new User();
        //下面这行新创建了一个相同对象,但是地址值不一样
        //User u = new User(); 报错
        u.run();
    }
}

内部类的认识及其使用

1、内部类即类中方法体外包含的其他类
2、内部类可以随意掉用外部类的方法以及成员变量
3、外部类如果要调用内部类方法或者成员变量的话

创建内部类对象格式:
外部类名.内部类名  对象名 =  new 外部类名().new 内部类名();

class A{
    public int a = 10;
    public void run(){
        System.out.println("外部类A的方法");
    }
    class B{
        public int b= 20;
        public void run1(){
            System.out.println("内部类B的方法");
        }
    }
}


public class NBlei {
    public static void main(String[] args) {
        //外部类创建对象并调用方法
        A a = new A();
        a.run();

        //内部类创建对象并调用方法
        A.B b = new A().new B();
        b.run1();

        //等效于上面的创建内部类对象
        A.B b1 = a.new B();
        b1.run1();

    }
}
发布了14 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/NeverFG/article/details/97613027
今日推荐