java访问控制修饰符有哪些_Java非访问控制修饰符 | 学步园

Java非访问控制修饰符

一、类的修饰符

1、抽象类: abstract

抽象类就是没有具体对象的概念类;

abstract class className{

}

2、最终类: final

一些有固定作用,用来完成某种标准功能的类; 这个类不可能有子类

final class classNamw{

}

abstract和final修饰符不能同时修饰一个类

二、变量的修饰符

1、静态变量:static

静态变量是类中每个对象共享的变量,可以直接通过类名引用

public class HelloWorld{

static String world = “world”;

public static void main(String[] args){

System.out.println(HelloWorld.world);

}

2、静态初始化器:static

静态初始化器是由关键字static引导的一对大括号括起来的语句组,

作用在加载时,初始化类的静态变量;

与构造函数的比较:

1)、构造函数对对象初始化,静态初始化器对类自身初始化

2)、构造函数在用new产生新对象时由系统自动执行,静态初始化器是在它所属的类

加载到内存时由系统调用执行;

3)、静态初始化器不是方法,没有方法名、返回值和参数列表

static{

System.out.println("正在执行初始化……");//用于执行系统启动时的初始化工作

}

3、最终变量: final

用final修饰变量,实际就是常量;通常声明为 static

final String world = "World";

4、易失变量: volatile

用 volatile 修饰后,可能同时被几个线程所控制盒修改,即不仅仅被当前程序所掌握;

常用来修饰接收外部输入的变量,如修饰 “当前时间”的变量;

volatile String world = "World";

三、方法的修饰符

1、抽象方法: abstract

使用abstract的目的是使所有的子类对外呈现一个相同的方法,是一个统一的接口;

所有的抽象方法,都必须存在抽象类之中;

abstract class className{//该方法必须又子类来实现,才能被调用;

abstract void func();

}

2、静态方法: static

属于整个类的方法,在内存中的代码随着类的定义而分配和装载,不被任何一个对象专有;

只能处理静态变量;

public class HelloWorld{

static void hello(){

System.out.println("这是一个静态变量");

}

public static void main(String[] args){

HelloWorld.hello();

}

}

3、最终方法: final

功能和语句不能更改的方法

class HelloWorld{//HelloWorld被继承时,say方法不能被重写

final void say(){

System.out.println("Hello World!");

}

}

/*继承时,被 private 和 final修饰都被默认为 final*/

4、本地方法: native

native声明其他语言 在程序外部书写 并具体实现的方法,没有方法体,用分号代替;

public native int meth();

/*声明为本地方法后,必须编写本机方法并执行一系列复杂的步骤与Java代码链接(如C,调用

Java Native Interface(JNI) ) */

5、同步方法  synchronized

修饰类方法(static),在被调用执行前把当前类的对象加锁; 修饰对象方法(非 static),在被调

用执行前把当前对象加锁。 用于多线程共存的程序中的协调和同步;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,修饰符访问控制符都是用来限制类、变量、方法、构造函数等成员的访问范围的。下面是Java中常见的修饰符访问控制符: 1. 修饰符: - public:公有的,可以被任何类访问。 - private:私有的,只能被本类访问。 - protected:受保护的,只能被本类、子类和同一包中的类访问。 - static:静态的,可以直接通过类名访问,不需要实例化对象。 - final:最终的,一旦赋值后就不可改变。 - abstract:抽象的,只能用于抽象类和抽象方法,不提供实现,需要子类实现。 - synchronized:同步的,用于多线程访问时,保证同一时间只有一个线程访问。 - transient:短暂的,用于序列化时,标识该变量不需要序列化。 - volatile:易变的,用于多线程访问时,保证变量的可见性。 2. 访问控制符: - public:公有的,可以被任何类访问。 - private:私有的,只能被本类访问。 - protected:受保护的,只能被本类、子类和同一包中的类访问。 - 默认访问控制符:没有关键字修饰,只能被同一包中的类访问。 修饰符访问控制符的主要区别在于: - 修饰符用于修饰类、变量、方法等成员的特性,如可见性、是否静态、是否最终等。 - 访问控制符用于控制成员的访问权限,限制不同类、不同包、不同子类的访问范围。 在Java中,修饰符访问控制符的使用可以根据具体的业务场景和需求来选择,以保证代码的可读性、可维护性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值