java修饰符

13 篇文章 1 订阅
2 篇文章 0 订阅

1.权限修饰符

 在这里强调一下  常用 private  私有   和 public 公共   的

private  在同一个类中可以访问   

public 在不同包 的无关类中都可以访问

默认 和 protected  受保护的  :

默认 : 同一个包能够访问   出了这个包 就不可以访问了     

protected : 同一个能够访问    出了这个包  他的子类可以访问

状态修饰符

1.final  最终的意思  可以修饰成员方法,成员变量,类

public class Fu {
//final  修饰方法  最终方法  不能被重写
    public final void method() {
        System.out.println("Fu method");
    }

}
//最终类  不能被继承
/*
public final class Fu {
    public final void method() {
        System.out.println("Fu method");
    }
}
*/


//Zi 继承 Fu
public class Zi extends Fu {

    public final int age = 20;//常量(不能被修改)

    public void show() {
//        age = 30;
        System.out.println(age);
    }


//   重写method   不能
//    @Override
//    public void method() {
//        System.out.println("Zi method");
//    }

}

/*
    测试类
 */
public class Demo {
    public static void main(String[] args) {
        Zi z = new Zi();
        z.method();
        z.show();
    }
}

final 修饰的特点:

1.修饰方法:表明该方法是最终方法,不能被重写

2.修饰变量:表明该变量是常量,不能再次被赋值

注意:

        变量是基本类型:final 修饰指的是基本类型的 数据值 不能发生改变
        变量是引用类型:final 修饰指的是引用类型的 地址值 不能发生改变,但是地址里面的内容是可以发生改变的

3.修饰类:表明该类是最终类,不能被继承

不能被继承的类有:String,Scanner,System.....

static关键字:

static 关键字是静态的意思,可以修饰成员方法,成员变量

static使用:

权限修饰符 static 数据类型 变量名;
public class Student {
    private String name;
    private int age;
//    static 使用
    private static String classRoom;//班级

    public void show(){
        System.out.println("名字是:"+name+",年龄是:"+age);
    }

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public static String getClassRoom() {
        return classRoom;
    }

    public static void setClassRoom(String classRoom) {
        Student.classRoom = classRoom;
    }
}

注意:

1.非静态成员变量:随着对象的创建而初始化

                                随着对象的消亡而消亡

                                每一个对象,成员变量互相独立操作,互不影响。

那么,多个对象想要共享一个变量的话,就要引入静态成员变量

2.静态变量:

                static修饰的变量 叫做 静态变量;

                        特点:被所有对象所共享

                        调用时可以 类名.静态变量************

static修饰符的特点

1.被类的 所有对象共享 ,这也是我们判断是否使用静态关键字的条件
2.可以通过 类名调用 ,当然,也可以通过对象名调用, 推荐使用类名调用
非静态成员方法:
        1.能访问静态的成员变量
        2.能访问非静态的成员变量
        3.能访问静态的成员方法
        4.能访问非静态的成员方法
静态的成员方法:
        1.能访问静态的成员变量
        2.能访问静态的成员方法

静态成员方法只能访问静态成员

static修饰方法

可以修饰方法:  静态方法 可以通过类名调用,方法内只能访问static修饰的内容

什么时候变量用static修饰?:
       当该变量被所有对象所共享的!
       比如:所有的学生,国籍都是中国人
                    国籍这个变量就应该定义为静态变量
                          static String country = "中国";
什么时候方法用static修饰?:
      1.如果该方法要被main方法直接调用,或者被静态方法直接调用
      2.由于用static修饰的方法可以被类名直接调用(无需创建对象),为了方便起见,用static修饰

static内存图:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

華同学.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值