java常见说明符,java常见修饰符总结

本文探讨了Java中的访问修饰符(public, protected, default, private)、抽象类的使用与抽象方法的定义,以及final关键字在类、方法和变量中的作用。重点讲解了如何通过final确保代码安全性,以及静态变量和方法的概念和应用场景。
摘要由CSDN通过智能技术生成

1、访问修饰符:public 对外公开  所有是类都能访问

protected 受保护的 子类及其同一个包中的类可以访问

默认的:没有访问修饰符,只向同一个包中的类公开

private : 私有的 只有类本身可以访问,不对外公开

2、abstract :可以用来修饰类和成员方法

A:用该修饰符修饰的类表示抽象类,抽象类位于继承树的抽象层,该类不能被实例化,即不允许创建抽象类本身的实例

B:用该修饰符修饰的方法表示抽象方法,该方法没有方法体,抽象方法是用来表述系统具有什么功能,但不提供具体的实现。

使用该修饰符需要遵守以下语法:

A:抽象类中可以没有抽象方法,但包含抽象方法的类必须被定义为抽象类,如果子类没有实现 父类中的所有的抽象方法,那么子类也必须被定义 为抽象类

B:抽象类中不能定义构造方法,也不能定义静态方法

C:抽象类及抽象方法不能被final修饰,abstract与final不能同时出现在同一个类中,因为抽象类只有允许创建子类,它的抽象方法才能被实现,并且 只有它的具体子类 才能被实例化,而final修饰的类不允许有子类,用final修饰的方法不允许被子类覆盖,所 以把abstract和final同时使 用会自相矛盾

3、final :用来修饰非抽象类、非抽象方法和变量,被final修饰的类不能被继承,不能有子类。 被final修饰的方法不能被覆盖,final修饰的变量为常   量,只能被赋值一次。

A:final类:在如下的情况的时候可以将该类定义为final类。不是专为继承而设计的类,类的方法之间有复杂的调用关系。若随意的创建这些类的子类,子类就有可能会错误的修改父类的细节在创建对象模型时,确定该类不会被扩展

B:final方法:在父类不允许子类覆盖某个方法时,可将该方法声明为final类型。

C:final变量:表示取值不会变化的常量 可以修饰静态变量、实例变量和局部变量

final修饰的成员变量必须显式初始化

final类型的实例变量,可以在定义变量时或者在构造方法中进行初始化;但对于final类型的静态变量,只能在定义时初始化final类型的变量 能赋值一次。

final修饰引用类型的变量时,那么该变量只能始终引用一个对象,但是可以改变对象的内容。

在程序中使用final来定义常量具有以下好处:

a:提高程序的安全性,禁止非法修改取值固定并且不允许改变的数据。

b:提高程序代码的可维护性和可读性。

4、static:

<1>、static变量:

类的成员变量分为两种:被static修饰的变量叫类变量或静态变量,另一中没有被static修饰的叫实例变量

静态变量与实例变量的区别:

A:静态变量在内存中只有一个拷贝,jvm只为静态变量声明一次内存,在加载类的过程中完成静态变量的内存分配。可通过类名直接访问。

B:对于实例变量,每创建一个实例,就会为实例变量分配一次内存,在内存中有多个拷贝,互不影响。

静态变量的作用:

A:能被类的所有实例共享,可作为实例之间进行交流的共享数据

B:若类的所有实例都包含一个相同的常量属性,可把这个属性定义为静态常量类型,从而节省内存空间。

<2>、static方法:

成员方法分为静态方法和实例方法,用static修饰的叫静态方法或类方法,它也是静态变量的一种,不需要创建类的实例,就可以直接通过类名访问。

A:静态方法可访问的内容:由于静态方法不需要通过它的类的任何实例就会被调用,因此静态方法中不能使用this关键字,不能直接访问所属                   类的实例变量和实例方法(因为JVM无法定位,若实在要访问某个实例变量,则必须通过所属类的实例进行访问),但可以直接调用所属类的

B:实例方法可访问的内容: 未用static修饰的方法,就叫做实例方法。在实例方法中可实际访问所属类的静态变量、静态方法、实例变量和实 例方法。

C:静态方法必须实现:静态方法用于表示某个类所特有的功能,该功能的实现不依赖于类的具体实例,也不依赖于它的子

类,所以当前类必 须为静态方法提供实现。        <3>、static块:静态代码块。类中可以包含静态代码块,它不存在于任何方法体中。                在JVM加载类时会执行这些静态代码块。若类中包含多个静态块时,那么JVM将按照它们在类中出现的顺序 依次执行它们,每个静态代码块   只会被执行一次。                类的构造方法用于初始化类的实例,而类的静态代码块则可用于初始化类,给类的静态变量赋初始值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值