现在的位置: 首页 > 综合 > 正文

Java非访问控制修饰符

2018年05月09日 ⁄ 综合 ⁄ 共 1483字 ⁄ 字号 评论关闭

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),在被调
用执行前把当前对象加锁。 用于多线程共存的程序中的协调和同步;

抱歉!评论已关闭.