码迷,mamicode.com
首页 > 编程语言 > 详细

03 Java static 和 final

时间:2018-02-11 16:20:21      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:必须   name   类方法   out   ati   int   oid   不能   方法   

Java 修饰符主要分为两类:

  • 访问修饰符
  • 非访问修饰符

非访问修饰符

Java static

  • static 是一个修饰符,被 static 修饰的成员变量和成员方法,不依赖类的特定实例,被类的所有实例共享,因此静态类方法中不可以定义 this,super 等关键字。
  • 静态成员变量和方法,可以使用类直接调用,如下可以直接使用 Dog 访问 name,age,printInfo()。
  • 静态方法只能访问静态成员,非静态方法既可以访问静态也可以访问非静态成员,如在 printInfo() 方法使用 static 修饰,其中涉及的 name 和 age 也必须使用 static 修饰。
public class Dog {
    
    static String name;
    static int age;
    
    public static void printInfo() {
        System.out.println("name:" + name + ", age:" + age);
    }
    
    public static void main(String[] args) {
        
        Dog.name = "roy";
        Dog.age = 3;
        Dog.printInfo();
        
        Dog dog = new Dog();
        dog.printInfo();
    }
}
name:roy, age:3
name:roy, age:3

Java final

  • final 可以修饰类,方法,变量(成员变量和局部变量)
  • 当 final 修饰一个类,表示这个类不能被继承
  • 当 final 修饰一个方法,明确禁止该方法在子类中被覆盖
  • 当 final 修饰一个变量,如是基本类型,表示数值一旦确定,不能修改,如是引用类型,则初始化之后不能指向另一个对象

访问修饰符

  • public,对所有类可见
  • protected,对同一包内的类和子类可见
  • default,同一个包内的类可见
  • private,对当前类可见
修饰符 当前类 同一包内 子孙类 其它包
public Y Y Y Y
protected Y Y Y N
default Y Y N N
private Y N N N

03 Java static 和 final

标签:必须   name   类方法   out   ati   int   oid   不能   方法   

原文地址:https://www.cnblogs.com/wangyaoguo/p/8441353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!