类的访问符
一:访问修饰符:
1.省略访问修饰符
具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用。
2.public访问修饰符
用于说明类和类的成员的访问权限。这种类叫公有类。在一个文件中只能有一个public类型的类。
例如:Rect和UseImport两个类,分别在两个不同的包中。顺便回顾一下不同类要用import导入。(哎,一直就没记住)
//Rect.java
pacakage
my;
public
class
Rect
{
private
int
a,b;
public
void
init(int
len,int
width)
{
a=len;
b=width;
}
public
int
area()
{
return
a*b;
}
}
//UseImport.java
import.my.*;//导入my
包的所有类
public
class
UseImport
{
public
static
void
main(string[]
args)
{
Rect
x=new
Rect();
x.init(2,3);
System.out.println("矩形面积为:"+x.area());
}
}
3.private
用private修饰的类成员成为私有成员,只能在声明该成员的类中使用,不能在类外使用。一般通过本类中公有方法进行访问。
4.protected
protected修饰的类成员为保护成员,可以被三种类使用,分别是该类本身,该类的所有子类,该类同包的其他类,该类的子类。
5.private
protected
私有保护成员。可被两种类使用。分别是:该类本身和该类的所有子类。
二:特征修饰符
1.abstract:抽象
修饰类为抽象类,修饰方法为抽象方法。只要类中有抽象方法,就必须定义为抽象类。抽象方法只能声明,不能实现。但是可以在其子类中对抽象方法进行实现。抽象类中也可以包含非抽象方法。
2.final:最终
修饰的类为终止类,不能有子类。修饰变量为终止变量,只可赋值一次。修饰方法为终止方法,不能在子类中更改。如Socket、ServerSocket等都是final类,防止黑客派生子类进行破坏。同时,final与abstract是相互矛盾的。
3.static:静态
静态成员无需通过对象调用,可以直接通过类名直接调用。
public
class
RectArea//输出6
和
12
{
public
static
void
main(String[]
args)
{
System.out.println(area(2,3));
System.out.println(area(3,4));
}
static
void
area(int
a,int
b)
{
return
a*b;
}
}
4.native
用native修饰的为本地方法。它修饰的方法在程序外部使用其他编程语言编写。(这个步骤比较多,所以就木有继续研究了)
5.synchronized
修饰的方法为同步方法。
‘贰’ C#定义类的访问修饰符是指什么意思
C# 共有五种访问修饰符:public、private、protected、internal、protected internal。作用范围如下表:
所以对于 class A 来说,protected 表示其本类(class Program)和子类(所有继承 classProgram 的类)可以访问;对于 class B 来说也一样。
‘叁’ 类及类成员的访问控制符有哪些
在Java中
类修饰符
Public
可以从其他类中访问
obstract
本类不能被实例化
final
不能再声明子类
构造器修饰符
Public
可以从所有的类中访问
Protected
只能从自己的类和它的子类中访问
Private
只能在本类中访问
域修饰符
Public
可以从所有的类中访问
Protected
只能从本类和它的子类中访问
Private
只能从本类中访问它
Static
对该类的所有实例只能有一个域值存在
transient
不是一个对象持久状态的一部份
Volatile
可以被异步的线程所修改
final
必须对它赋予初值并且不能修改它
局部变量修饰符
final
必须对它赋予初值并且不能修改它
方法修饰符
Public
可以从所有的类中访问它
Protected
只能从本类及其子类中访问它
Private
只能从本类中访问它
abstract
没有方法体,属于一个抽象类
final
子类不能覆盖它
static
被绑定于类本身而不是类的实例
native
该方法由其他编程语言实现
asnchronized
在一个线程调用它之前必须先给它加
‘肆’ JAVA中类及类成员的访问控制符包括
public:
可以在任何地方进行访问,不受任何约束;
protected:
可被子类访问,不管是同一个包还是不同包
同一个包中非子类需要通过对象访问
private:
只能够被本类中的其它成员访问,而不能从类的外部进行访问
缺省:称为friendly,可被同一包的所有的类访问
final:
final修饰的类表示这个类不可被继承,被称为最终类
Static:
不能用来修饰类,可以用来修饰变量,用static修饰的变量称为静态变量,可以直接通过
类名.变量名
来调用
‘伍’ c#中的类中的5种不同访问修饰符的含义
这个要看类的位置,
如果类,结构,代理,枚举是外置的,那修饰符只有:public 和 internal,默认是internal。
至于private和protected是用来修饰类的成员。
如果是内置的,就是作为另一个类型的成员,也称内部类型(inner type),这样的话,修饰符可以是全部可用修饰符,默认是private。
举例:
class a {} 类a是internal
c#中类的默认访问修饰符,默认是internal :C#用多种修饰符来表达类的不同性质。
根据其保护级 C#的类有五种不同的限制修饰符:public 可以被任意存取;
protected 只可以被本类和其继承子类存取;
internal只可以被本组合体(Assembly)内所有的类存取,组合体是C# 语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。
private 只可以被本类所存取。如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰。
new 修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。
abstract 用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。
抽象类可以包含抽象的成员,但这并非必须。abstract 不能和new 同时用
‘陆’ Java中类有哪些访问控制修饰符,并指出它们的访问控制作用范围
类的访问控制符只有public与默认两种;类成员的访问控制符包括public,private,protected,与默认,java中没有friendly。public代表允许所有类及成员访问,private代表仅允许本类成员访问,protected代表仅允许本类及其子类成员访问,默认代表允许本包中类及其成员访问