Java 非访问修饰符

2019-12-02 16:04:24来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Java 非访问修饰符

除了访问性修饰符,我们还有非访问性修饰符。这里主要说明static与final修饰符,其他修饰符以后用到再说。

一、static修饰符

static修饰符是用来修饰方法与变量

1、创建StaticTest.java

public class StaticTest {
    private static int num = 0;////“静态变量(类变量)”不能被使用在类的非静态方法中。
    public static int getNum() {
        //static int num = 2;  //static变量为类变量,局部变量不能声明为static变量
        return num;
    }

    public static void add() { //“静态方法”不能使用类的非静态变量。
        num++;
    }

    public static void main(String[] args) {
        System.out.println("num:" + StaticTest.getNum() + " start");
        for (int i = 0; i < 10; ++i){                                                                                                                                                                        
            add();//不属于任何对象,即使没有创建对象,也能使用变量和调用方法
        }
        System.out.println("num:" + StaticTest.getNum() + " end");
    }
}

这里的static用法与c有些不同,观察细微点,才能更好的理解java。

2、运行

javac StaticTest.java
java StaticTest

结果如下图:

 二、final修饰符

1、创建FinalTest.java

public class FinalTest {
    final int value = 10; //实例变量
    final int value2;

    public FinalTest() {
        value2 = 10;//不会报错,在构造方法可以直接赋值。
        System.out.println("value2=: " + value2);
    }
    public final void test() {
        int value = 9;//局部变量:不会报错,因为重新赋值给int类型了。                                                                                                                                        
        //value = 9; //报错,final定义的变量不能重新赋值。
        //value2 = 8;//报错,不能在方法中赋值
        System.out.println("value=: " + value);
    }
    public static void main(String []args) {
        FinalTest getText = new FinalTest();
        getText.test();
    }
} 

这里主要关注的final变量与方法。final变量主要是不能再次复制,而final方法主要是不能被重写。

2、运行

javac FinalTest.java
java FinalTest 

结果如下:

 3、注意点

  • final修饰一个类的时候,表示这个类不能被继承。
  • 一个类的private方法隐式的被指定为final方法。被final修饰的方法不能被重写(包括子类)。
  • final定义的变量必须赋初值(不能在方法中赋值),并且只能初始化一次。

原文链接:https://www.cnblogs.com/jizizh/p/11973331.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JAVA语言概述

下一篇:JAVA语言的环境搭建