JAVA修饰符-类、变量、函数

首先明确一点:访问权限时在类级别上的而不是对象级别。就是说访问权限都是从写类的代码的角度来分析的,举个例子

        public class Num{
            private int a;
            public int add(Num num){
                return a+num.a;//这里的num对象的private变量能够被自身类所访问
            }
        }

java文件名与文件中类名的关系:

----文件里有且只能有一个类是public class
----文件若包含public class那么文件名必须和这个class的类名相同,若无,则不做限制
----若某个类里包含有main方法,文件名和这个类的类名必须一致,即便它不是public class


java类声明的完整格式 [public][abstract|final][默认]class ClassName[extends SuperClassName][implements InterfaceNameList]{

//TODO

}
public 表示任意类均可以访问这个类,如果没有public,则只有与该类定义在同一个包中的类才可以访问这个类。

abstract 表示这个类是个抽象类。

final 表示无法被任何人继承的,那也就意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。注意一点的是类声明为final后,其域是可以被修改的。

默认(包权限) 如果不加任何权限限定成员则是默认访问权限,即只能被和这个类在同一个包中的类访问。注意:相同根目录下的所有不具有明确package声明的文件,都被视作是该目录下默认包的一部分。

extends 关键词表示类继承了以SuperClassName为类名的父类.

implements 关键词表示类实现了InterfaceNameList中列出的各个接口。


java变量的完整的声明格式 [public|protected|private][static][final][transient][volatile][默认] type varibleName;
public 表示该方法没有访问限制。

protected 只能被自身类或者子类(在同一个包或不在同一个包)以及同一个包下的其他类可以访问到。

private 只能被自身类访问。

默认 如果不加任何权限限定成员则是默认访问权限,即只能被和这个类在同一个包中的类访问。

static 表示这个变量是类变量。3种初始化方法:方法1在声明中赋值;方法2在构造函数中赋值;方法3初始化块 ;

final 表示这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值。

transient 用来声明一个暂时性变量,在默认情况下,类中所有变量都是对象永久状态的一部分,当对象被保存到外存时,这些变量必须同时被保存,用transient限定的变量指示JAVA虚拟机,该变量并不属于对象的永久状态,从而不能被永久存储。类的静态变量默认是transient的。

volatile修饰的变量,在被多个线程共享时,系统将采取更优化的控制方法提高线程并发控制方法提高线程并发效率,确保可见性以及阻止指令重排。


java方法的完整的声明格式[<accessLevel>][static][final|abstract][native][synchronized]<return_type><name>([<argument_list>])[throws<exception_list>]{<block>}
accessLevel与成员变量相同。

static 限定它为类方法,而实例方法不需要static限定词。

abstract 表明方法时抽象方法,没有实现体。

final指明方法不能够被重写。

native表示方法用其他语言实现。

synchronized用来控制多个并发线程对共享数据的访问。

throws<exception_list>表示可能抛出的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值