Static、Final关键字详解

锦通  金牌会员 | 2022-8-25 08:10:00 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 896|帖子 896|积分 2688

1.Static

详情见下面代码讲解点击查看代码
  1. package com.Tang.oop.demo07;
  2. public  class Student {
  3.     private  static int age;//静态变量
  4.     private  double score;//非静态变量
  5.     public void run(){
  6.         go();//非静态方法可以调用静态方法
  7.     }
  8.     public static void go(){
  9.     }
  10.     public static void main(String[] args) {
  11.         Student s1 = new Student();
  12.         System.out.println(Student.age);//静态变量可以被类中的所有实例去共享
  13.         //System.out.println(Student.score);这个就会报错,非静态变量并不能用类名去访问
  14.         System.out.println(s1.score);
  15.         System.out.println(s1.age);
  16.         //run();//在静态方法中不能直接调用非静态方法
  17.         new Student().run();//必须得通过new一个对象来调用
  18.     }
  19. }
复制代码
2.代码块(静态,匿名,构造)

点击查看代码
  1. package com.Tang.oop.demo07;
  2. public class Person {
  3.     {//这一部分就是匿名代码块
  4.         System.out.println("匿名代码块");
  5.     }
  6.     static{//这一部分就是静态代码块,且只执行一次
  7.         System.out.println("静态代码块");
  8.     }
  9.     public Person() {
  10.         System.out.println("构造方法");
  11.     }
  12.     public static void main(String[] args) {
  13.         Person person = new Person();
  14.         System.out.println("=============");
  15.         Person person1 = new Person();
  16.     }
  17. }
复制代码
运行结果

3.final

final为常量,被其修饰的类就无法被继承,也就是不能有子类当父类Person被final修饰时,子类Student就无法在继承Person如下图

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

锦通

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表