1. java中常见的权限修饰符和用法基础知识

JAVA里的空白\t\n\r分别代表什么?
\t 相当于tab,缩进
\n 回车
\r 换行
\b 换成一个黑点
\f 换成一个口字

1.Java SE(Java Platform,Standard Edition)JavaSE标准版,基础部分
Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。

2.Java ME(Java Platform,Micro Edition)。JavaME微型版(安卓应用,SDK)
以前称为J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)是一个技术和规范的集合,它为移动设备(包括消费类产品、嵌入式设备、高级移动设备等)提供了基于Java环境的开发与应用平台。Java ME目前分为两类配置,一类是面向小型移动设备的CLDC(Connected Limited Device Profile),一类是面向功能更强大的移动设备如智能手机和机顶盒,称为CDC(Connected Device Profile CDC)。
Java ME有自己的类库,其中CLDC使用的是专用的Java虚拟机叫做JVM。
基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
3 Java EE(Java Platform,Enterprise Edition)JavaEE企业版(大型网站)
这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序,如淘宝网站,后台(定位在服务器端的后台应用)。

在java中提供的一些修饰符,这些修饰符可以修饰类、变量和方法,在java中常见的修饰符有:abstract(抽象的)、static(静态的)、public(公共的)、protected(受保护的)、private(私有的)、synchronized(同步的)、native(本地的)transient、volatile(易失的)、final(不可改变)。

可见,public具有最大权限。private则是最小权限。
编写代码时,如果没有特殊的考虑,建议这样使用权限:
成员变量使用private ,隐藏细节。
构造方法使用public ,方便创建对象。
成员方法使用public ,方便调用方法。

public:公共的,所有地方都可以访问。
protected:当前类 ,当前包,当前类的子类可以访问。
缺省(没有修饰符):当前类 ,当前包可以访问。
private:私有的,当前类可以访问。 public > protected > 缺省 > private

修饰符是用于限定类型以及类型成员申明的一种符号,可用于修饰类、变量和方法,分为访问修饰符和非访问修饰符。例如权限从大到小:public、protected、default(缺省)、private ,访问范围如下:
public 本类、同包、子类,公共的,所有地方都可以访问
protected 本类、同包和子类
default 当前类、当前包可以访问(类和方法变量不添加权限修饰符,默认使用)
private (类的内部)私有的,当前类可以访问。

public 使用对象:最广,类、接口、变量、方法
protected使用对象:变量、方法 注意:不能修饰类(外部类)
default 使用对象:类、接口、变量、方法。(即缺省,什么也不写)
private 使用对象:变量、方法 注意:不能修饰类(外部类)
abstract使用对象:类、接口、方法
static 使用对象:类、变量、方法、初始化函数,修饰类时只能修饰 内部类
final 使用对象:类、变量、方法
synchronized:修饰方法,多线程的支持
transient:告诉编译器,在类对象序列化的时候,此变量不需要持久保存
volatile:指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理
native:用该修饰符定义的方法在类中没有实现,而大多数情况下该方法的实现是用C、C++编写的。

外部类的修饰符有:
default(缺省,不写):类定义时前面未加任何修饰符,表示同一个包中可见。
public:修饰类时表示该类能被项目中所有类可见
abstract:表示是抽象类
final:表示类不可以被继承
scrictpf:(java关键字) 当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示

类分外部类和内部类,外部类是相对于内部类而言,内部类是定义在类里面的类。
内部类又分:成员内部类、局部内部类、静态内部类、匿名内部类
成员内部类:作为外部类的一个成员存在,与外部类的属性、方法并列
局部内部类:定义在外部类的方法体里面的类
静态内部类:使用static修饰的内部类
匿名内部类:就是没有名字的内部类
成员内部类修饰符有:
public:
protected:
private:不能修饰外部类
abstract:
final:
static:可以当做普通类使用,而不用先实例化一个外部类。(用他修饰后,就成了静态内部类了)

成员变量修饰符:
public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。
private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。
protected(保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。
friendly ,在同一个包中的类可以访问,其他包中的类不能访问。
final,最终修饰符,指定此变量的值不能变。
static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。
transient(过度修饰符)指定该变量是系统保留,暂无特别作用的临时性变量。
volatile(易失修饰符)指定该变量可以同时被几个线程控制和修改。

方法修饰符:
(1)public(公共控制符)
(2)private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)
(3)protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。
(4)final,指定该方法不能被重载。
(5)static,指定不需要实例化就可以激活的一个方法。
(6)synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。
(7)native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

类修饰符:
public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。
abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
final,将一个类生命为最终(即非继承类),表示他不能被其他类继承。
friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。

abstract修饰符可用来修饰类和成员方法
1.用abstract修饰的类表示抽象类,抽象类不能实例化
2.用abstract修饰的方法表示抽象方法,抽象方法没有方法体:“{}”,用来子类重写
3.abstract修饰的类中,即抽象类中可以有普通方法和抽象方法
4.抽象类和抽象方法不能被final修饰符修饰。abstract修饰符与final修饰符不能连用

final修饰符
1.final是“不可改变的”的含义,它可以修饰非抽象类、非抽象成员方法和变量
2.用final修饰的类不能被继承,没有子类
3.用final修饰的方法不能被子类的方法覆盖
4.用final修饰的变量表示常量,比如(PI),因此只能被赋值一次,不能被改变

static修饰符
1.用static修饰的成员变量表示静态变量,可以通过类名直接访问
2.用static修饰的成员方法表示静态方法,可以通过类名直接访问
3.用static修饰的程序发代码块,当java虚拟机(JVM)全称是:Java Virtual Machine就能根据类名在运行时数据区的方法内定位到它们,而且只能运行一次。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值