• final、static关键字


    final关键字
    public class Test {
        public static void main(String[] args) {
            //final 修饰局部变量  (基本数据类型)
            //一旦赋值终身不变
            final int i; i=1;//只能赋值一次
            //final 修饰局部变量  (引用数据类型)
            //一旦赋值一个地址,终身不变
            //final Zi z=new Zi();
        }
    }
    package com.oracle.demo19;
    //用final修饰的类不能被继承但是可以继承其他类    太监类
    public final class FU {
        
    }
    public class Person {
        //当final修饰成员变量的时候必须手动赋值
        //final String name="张三";
        //或者构造方法赋值
        final String name;
        public Person(String name){
            this.name=name;
        }
    }    
    final修饰的方法不可以被子类重写,但父类中没有被final修饰方法,子类重写后可以加final。
    Static关键字
    public class Student {
        private String name;
        private static String schoolName;//static修饰
        public Student(String name, String schoolName) {
            super();
            this.name = name;
            Student.schoolName = schoolName;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSchoolName() {
            return schoolName;
        }
        public void setSchoolName(String schoolName) {
            Student.schoolName = schoolName;
        }
    }
    public class Fu {
        static int i=1;
        public static void f(){
            System.out.println("这是父类静态方法");
        }
    }
    public class Zi extends Fu{
        static int i=2;
        public static void f(){
            System.out.println("这是子类重写后的方法");
        }
    }
    public class Test {
        public static void main(String[] args) {
            Student s1=new Student("小红","清华大学");
            Student s2=new Student("小明","清华大学");
            Student s3=new Student("小亮","清华大学");
            s2.setSchoolName("北京大学");//修改任意一个全部修改了
            System.out.println(s1.getSchoolName());
            System.out.println(s2.getSchoolName());
            System.out.println(s3.getSchoolName());
            Fu f=new Zi();
            System.out.println(Fu.i);//类名.调用
            Fu.f();
        }
    }
    多态调用方法中,编译看=左边,父类有,编译成功,父类没有,编译失败
    运行,静态方法,运行父类中的静态方法,
    运行,非静态方法,运行子类的重写方法
    成员变量,编译运行全是父类
  • 相关阅读:
    微信小程序中的iPhone X适配问题
    微信小程序例子-保存图片到手机相册
    微信小程序客服消息使用指南
    移动APP 微信支付完整过程(wxPay 方案一)
    promise原理及使用方法
    apicloud UISearchBar 使用方法
    数据库死锁及解决方法
    js replace使用及正则表达式使用
    POI Workbook接口和HSSFWorkbook对象和XSSFWorkbook对象操作相应excel版本
    HSSFWorkbook 模版使用
  • 原文地址:https://www.cnblogs.com/zhaotao11/p/10218660.html
Copyright © 2020-2023  润新知