final关键字可以修饰非静态的成员方法吗_Java进阶:(面向对象:final/static 关键字)...

d8961a77f9f7df71f6f429eaa988bc8a.png

接着上一篇的基础知识,今天俺们来学习一下:

final关键字

final 关键字    //不可改变。可以用于修饰类、方法和变量。不能被继承    概述:        类  :被修饰的类,不能被继承。        方法:被修饰的方法,不能被被重写。        变量:被修饰的变量,就只能赋值一次,不能被重新赋值。        //被final修饰的常量名称,一般都有书写规范,所有字母都大写。    修饰类:        格式:            修饰符 final class 类名{            }    修饰方法:            修饰符 final 返回值类型 方法名(参数){                //方法体            }    修饰变量:        局部变量            基本类型:                //基本类型的局部变量,被final修饰后,只能赋值赋值一次,不能再更改                //final修饰基本数据类型                final int NUM=10;            引用类型:                //引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改。但是不影响对象内部的成员变量值的修改                // 引用类型                final Student stu = new Student("张三",18);                //stu = new Student("李四",19);// 编译报错                stu.setAge(19);        成员变量            成员变量涉及到初始化的问题,初始化方式有两种,只能二选一:                1.显示初始化                    public class test{                        final int NUM1 = 10;                    }                2.构造方法初始化                    public class test{                        final int NUM2;                        public test(int NUM2){                            this.NUM2 = NUM2;                        }                        public test(){                            this.NUM2 = 10;                        }                    }

static关键字

static 关键字    概述:static是一个静态修饰符关键字,表示静态的意思,可以修饰成员变量和成员方法以及代码块。    注意事项:        1.静态方法中不能出现this关键字        2.静态方法中只能直接访问静态成员变量和静态成员方法        3.静态方法中不能直接访问非静态成员变量和非静态成员方法        4.非静态方法中可以直接访问一切成员变量和成员方法    static修饰成员变量        特点:被static修饰的变量会被该类的所有对象共享,该成员变量称为类变量。一个对象对该变量的值进行修改,所有对象访问该变量都是修改后的值。        格式:static 数据类型 变量名;        静态成员变量访问方式            对象名.静态成员变量名; //不推荐            类名.静态成员变量名;  //推荐   只用这个!    static修饰代码块        位置:类中,方法外        执行:随着类的加载而执行,并且只执行一次            /*            static{                执行代码            }            */    static修饰成员方法//在返回值类型前面加static关键字        注意:            1.静态方法中不能出现this关键字            2.静态方法中只能直接访问静态成员变量和静态成员方法            3.静态方法中不能直接访问非静态成员变量和非静态成员方法            4.非静态方法中可以直接访问一切成员变量和成员方法        //被static修饰的方法会变成静态方法,也称为类方法,该静态方法可以使用类名直接调用。        格式            修饰符 static 返回值类型 方法名 (参数列表){ 执行语句...}            //public static int Dog(int 10){ 执行语句...}        访问方式            对象名.方法名(实参);            类名.方法名(实参);   //推荐            /*            class Student{                public static void method(){                    System.out.println("学生类的方法");                }            }            public class Demo{                Student.method();            }             */

关键字很关键

787334b27a23e7c16d2c5fc55f0c0a1a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值