修饰符final和static

一:final

final可以修饰类,变量和方法,代表最终的意思。

  • final修饰类时,被修饰的类不能被继承。
  • final修饰变量时,作用相当于c++中的const关键字,代表该变量为常量,不可被更改。
  • final修饰方法时,方法不能被重写
public class Final {
    
    
    public static void main(String[] args) {
    
    
        final int age = 20;
        //final 修饰基本类型变量时
        //age = 40; 会报错,说明基本类型被final修饰后值不能改变
        System.out.println(age);
        //final 修饰引用类型时
        final stu a = new stu();
        System.out.println(a.age);
        a.age = 40 ; //没有报错
        System.out.println(a.age);
  /*a = new stu();当我们给a一个新地址时报错了,
  说明引用类型被final修饰后地址不能改变,
  但地址中的内容是可以改变的*/
    }
public class stu {
    
    
    public int age = 10;
}

二.static

static即静态,静态成员方法只能访问静态成员
因为main函数是静态修饰,为方便在main中访问main外的方法,应用static修饰方法。

public static void main(String[] args)
 {
    
    
        show3();//在main中只能访问show3
 }
    void show1()
    {
    
    }
    public void show2()
    {
    
    }
    public static void show3()
    {
    
    }
    

static修饰变量时,该变量被所有对象共享

public class stu {
    
    
    int age;
    static String university;
    String name;
}

    public static void main(String[] args) {
    
    
       stu.university = "xidian";
       stu s1 = new stu();
       s1.name = "ywq";
       s1.age = 18;
       stu s2 = new stu();
       s2.name = "lmx";
       s2.age = 17;
        System.out.println(s1.name+","+s1.age+","+s1.university);
        System.out.println(s2.name+","+s2.age+","+s2.university);
    }

输出:

ywq,18,xidian
lmx,17,xidian

在这里插入图片描述

										ywqlove

猜你喜欢

转载自blog.csdn.net/qq_51677496/article/details/113070293
今日推荐