首页编程java编程java中什么可以修饰类,java中类修饰符有哪些

java中什么可以修饰类,java中类修饰符有哪些

编程之家2023-10-11119次浏览

大家好,感谢邀请,今天来为大家分享一下java中什么可以修饰类的问题,以及和java中类修饰符有哪些的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

java中什么可以修饰类,java中类修饰符有哪些

java中类修饰符有哪些

1.class不加修饰符的时候即直接声明 class A{}

在这种情况下,class前面没有加任何的访问修饰符,通常称为“默认访问模式”,在该模式下,这个类只能被同一个包中的类访问或引用,这一访问特性又称包访问性。

2.类修饰符:

java中什么可以修饰类,java中类修饰符有哪些

(1)public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。

(2)abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。

(3)final,将一个类生命为最终(即非继承类),表示他不能被其他类继承。

java中什么可以修饰类,java中类修饰符有哪些

3.成员变量修饰符:

(1)public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。

(2)private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。

(3)protected(保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。

(4)friendly,在同一个包中的类可以访问,其他包中的类不能访问。

(5)final,最终修饰符,指定此变量的值不能变。

(6)static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。

(7)transient(过度修饰符)指定该变量是系统保留,暂无特别作用的临时性变量。

(8)volatile(易失修饰符)指定该变量可以同时被几个线程控制和修改。

4.方法修饰符:

(1)public(公共控制符)

(2)private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)

(3)protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。

(4)final,指定该方法不能被重载。

(5)static,指定不需要实例化就可以激活的一个方法。

(6)synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。

(7)native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

扩展资料:百度百科-java关键字

参考资料:百度百科-修饰符

在java中能用private修饰类吗

一般的类是不能用private修饰,类的可见性最少是包可见的,也就是默认的,不加任何修饰。

但是有一种特殊的情况,内部类是可以用private修饰的!不让类以外的其他类访问!这个问题在《java核心技术》里有讲!

Java的外部类为什么不能使用private、protected进行修饰?

对于顶级类(外部类)来说,只有两种修饰符:public和默认(default)。因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。

因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default)。

如果类使用了private修饰符,说明是个内部类。内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public)。

当一个内部类使用了private修饰后,只能在该类的外部类内部使用。可以想一下,一个java项目是不可能在一个class里面完成的。

mvc模式中,是把类分为三层,一层层调用类。如果定义为私有的和受保护的就无法调用。换句话说,对于一个java文件,要么就是自己单独运行,要么就是被其他程序作为库调用。

如果一个java文件的类被private修饰,那么是不是其他的程序或是类是无法使用它的,那么他作为一个单独的文件就没啥用了。

如果它作为单个文件运行,类加载怎么找到它呢,因为它对外不可见。同时,也失去了类的存在意义。因此,类只有public和默认修饰符。

java中有几种修饰符

java中的修饰符分为类修饰符,字段修饰符,方法修饰符。根据功能的不同,主要分为以下五种。

1、权限访问修饰符

public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。

2、final修饰符

final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。

3、abstract修饰符

abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。

4、static修饰符

static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例

5、volatile修饰符

易失(共享)域修饰符 volatile是用来说明这个成员变量可能被几个线程所控制和修改。也就是说在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。

扩展资料:

修饰符的特点:

static是一个修饰符,用于修饰成员(成员变量和成员函数)

静态成员随着类的加载而加载。静态成员优先于对象存在。静态成员被所有对象所共享静态成员多了一个中调用方式,可以被类名直接调用。

使用的注意事项:

静态方法只能访问静态成员,非静态方法既可以访问静态又可以访问非静态。静态方法中不可以定义this,super关键字。因为this代表是对象。而静态存在时,有可能没有对象。所以静态方法运行时,this是没有任何对象代表的。

简单说,先进内存的数据不可以访问后进内存的数据,可是后进内存数据可以访问先进内存的数据。主函数是静态的。

在java中一个类的修饰符有哪些

一:访问修饰符:

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)

如果你还想了解更多这方面的信息,记得收藏关注本站。

java的jar包是什么文件?jar是什么意思,jar文件怎么打开电信4g网络(电信4g网络下载速度是多少兆)