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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值