Java修饰符以及Kotlin修饰符对比
2017-06-19 10:41
211 查看
Java语言提供了很多修饰符,主要分为以下两类:
访问修饰符
非访问修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
默认的,也称为 default,在同一包内可见,不使用任何修饰符。
私有的,以 private 修饰符指定,在同一类内可见。
共有的,以 public 修饰符指定,对所有类可见。
受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见。
为了实现一些其他的功能,Java 也提供了许多非访问修饰符。
static 修饰符,用来创建类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
synchronized 和 volatile 修饰符,主要用于线程的编程。
访问控制
Kotlin所对应的的修饰符如下:
abstract //抽象类标示
final //标示类不可继承,默认属性
enum //标示类为枚举
open //类可继承,类默认是final的
annotation //注解类
private //仅在同一个文件中可见
protected //同一个文件中或子类可见,不可修饰类
public //所有调用的地方都可见
internal //同一个模块中可见,若类不加修饰符,则默认为该修饰符,作用域为同一个应用的所有模块,起保护作用,防止模块外被调用。
访问修饰符
非访问修饰符
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。默认的,也称为 default,在同一包内可见,不使用任何修饰符。
私有的,以 private 修饰符指定,在同一类内可见。
共有的,以 public 修饰符指定,对所有类可见。
受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见。
非访问修饰符
为了实现一些其他的功能,Java 也提供了许多非访问修饰符。static 修饰符,用来创建类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
synchronized 和 volatile 修饰符,主要用于线程的编程。
修饰符 | 当前类 | 同一包内 | 子孙类 | 其他包 |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
default | Y | Y | N | N |
private | Y | N | N | N |
abstract //抽象类标示
final //标示类不可继承,默认属性
enum //标示类为枚举
open //类可继承,类默认是final的
annotation //注解类
private //仅在同一个文件中可见
protected //同一个文件中或子类可见,不可修饰类
public //所有调用的地方都可见
internal //同一个模块中可见,若类不加修饰符,则默认为该修饰符,作用域为同一个应用的所有模块,起保护作用,防止模块外被调用。
相关文章推荐
- ruby和php的比较,以及和java的对比
- java与C#中的访问修饰符对比
- JAVA基于类的访问权限以及protected修饰符的限制
- Java四种权限修饰符(public, default, protected, private)的用法和对比
- Java常考面试题2--访问修饰符public,private,protected,以及不写(默认)时的区别?
- c++中抽象类、虚函数和纯虚函数的学习以及和Java的对比
- java对象克隆一个新类以及两个类对比是否相等
- java中的修饰符以及作用范围详解图解
- java中的方法重载与重写以及方法修饰符
- java中的方法,静态方法,实例方法,构造方法,自定义方法,以及修饰符访问
- java 中自定义类位置以及修饰符等引发的问题
- java中包和类的导入以及修饰符(modifiers)的作用域
- JAVA中几个修饰符的作用以及一些相关话题
- 使用shell排序,插入排序,选择排序,冒泡排序,以及java的Arrays中自带的排序进行对比
- Atitit.swift 的新特性 以及与java的对比 改进方向attilax 总结
- Android中split,java.util.StringTokenizer和indexOf的使用以及各方法效率的对比
- (2) java中Object类源码 以及 equals hashcode ==三者区别联系 以及权限修饰符 以及重写和重载
- 堆栈的对比分析以及在Java中的一些要点
- java-访问修饰符public,private,protected,以及不写(默认)时的区别
- Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)