final,static,访问修饰词,静态变量和实例变量的区别

1.访问修饰词:4个

判断一个类的成员(包括成员变量和成员方法)能否被其他类所访问,主要取决于该成员的修饰词。
权限:public>protected>default>private
private:只能在本类中调用。
default(即没有修饰词):具有“包访问权”(包访问权:同一个包中的类可以访问)。
protected:具有“包访问权”和“继承访问权”(继承访问权:该类的子类可以访问)。
public:所有类都可以访问。
在这里插入图片描述

2.final关键字(最终的):

final关键字的基本用法及特点:
1.可以修饰类->特点:被final修饰的类,不能被继承(extends)。
2.可以修饰方法->特点:被final修饰的方法,不能被重写(override)
3.可以修饰变量->特点:被final修饰的变量是个常量,只能被赋值一次,赋值后值不再改变。
常量的标准写法:public static final 数据类型 大写的常量名 = 常量值
例:public static final String NAME=”jack” ;

3.static关键字:

static关键字的用法及特点:
1.static可以修饰成员变量和成员方法。
2.静态资源可以直接通过类名调用。
3.静态资源全局唯一,全局共享。
4.静态资源只能调用静态资源,非静态资源可以调用静态资源和非静态资源。
5.静态资源随着类的加载而加载,优先于对象在内存中加载。所以不能和this/super关键字连用。
(this关键字(这个):表示在一个类里,相当于this帮忙创建了一个本类对象。再用本类对象调用本类其他资源,比如:成员变量this.age,构造方法this(含参构造方法的参数);等。
super关键字:在子类中,调用父类的功能。相当于super为父类创建了一个对象,用父类方法调用父类属性。)

4.静态变量和实例变量(成员变量)的区别:

1、所属不同
  静态变量属于类,所以也称为类变量。
  成员变量属于对象,所以也称为实例变量
2、内存中位置不同
  静态变量存在静态区(静态区:内存在程序编译时就已经分配好,在程序的整个运行期间都存在。)
成员变量存在堆内存(new对象时在堆中分配空间),
局部变量存在栈内存(new对象只出现方法申明,只有调用方法时,才会在栈中为局部变量分配空间)。
3、内存出现时间不同
  静态变量随着类的加载而加载,随着类的消失而消失。
  成员变量随着对象的创建而出现,随着对象的消失而消失。
4、调用方式不同
  静态变量可以通过类名调用,也可以通过对象调用。
  成员变量只能通过对象调用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值