JavaSE14-面向对象-修饰符

一、权限修饰符和包

1.权限修饰符

  • 使用权限修饰符来控制被修饰的成员(如成员变量)的使用权限
  • Java中有四种权限修饰符:public,protected,default(default并不是关键字,而是代表不写权限修饰符),private
  • 被不同的权限修饰符修饰后,被修饰的成员可以在不同范围内被使用。
    在这里插入图片描述

使用规律总结

  • 我们在工作中一般不使用默认的权限。
  • 如果一个成员我们只想在本类中使用我们就使用private修饰。
  • 如果我们想只被本类和子类使用可以使用protected
  • 如果可以被人任意使用,我们使用public

2.包

全类名:包名+类名
导包:import 全类名 (alt + 回车)

import java.util.Scanner;

二、static

static是一个修饰符,被其修饰的成员就属于类了。会被类的所有对象所共享。

1.静态成员的调用格式

无论是成员变量,还是成员方法。用static修饰后我们即可以用对象名来调用也可以用类名来调用。一般都使用类名称进行调用。

  • 类名.静态变量名​
  • 类名.静态方法名(参数)
class Student{
    public static int num;
    public static void test(){}
}
class Demo{
    public static void main(String[] args){
        Student.num = 10;
        Student.test();
    }
}

2.注意事项

  1. 静态方法中不能直接使用非静态的成员
    因为被static修饰的东西就属于类了,类的加载优先于对象,所以在静态方法中, 不能使用非静态的成员(PS:非静态的成员是属于对象), 类出现的时候对象还不存在,所以不能使用还不存在的东西
  2. 静态方法中不能使用this(只能在一个类的成员方法或构造方法中使用this)
    被static修饰的东西就属于类了,而this代表的某个对象,类加载的时候对象还没创建,所以在静态方法中不能使用this,因为对象都没有出现

3.static内存图

被static修饰的成员就属于类了,随类的加载一起到了方法区,会被类的所有对象共享
在这里插入图片描述

4.使用场景

  1. 如果需要共享数据,可以使用static(工具类)
  2. ​如果想要方便调用某些成员,可以使用static修饰(PS:因为就可以直接用类名来调用,不需要创建对象)

三、final

final可以修饰类,成员方法,局部变量,成员变量。
修饰后的作用如下:​

  1. 可以修饰类,被final修饰的类不能被继承
  2. 可以修饰成员方法,被final修饰的成员方法不能被重写​
  3. 可以修饰局部变量,被final修饰的局部变量就变成了常量,赋值之后就不能被修改​
  4. 可以修饰成员变量,被final修饰的成员变量就变成了常量,一旦赋值之后就不能被修改,并且必须初始化
    有两种初始化方式,一种是直接赋值,另外一种是要在类的所有的构造方法中对其进行赋值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值