在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?相关的知识,希望对你有一定的参考价值。

如题

在java中不写访问修饰符就是包内可见,不是private,private是本类可见
包内可见是同一个包中的所有类都可见,无论类、类成员变量、类方法都是这样的

c#不知道
参考技术A 如果是数据,那么默认是private,如果是方法,那么默认是public,类为protected 参考技术B 不写修饰符
默认的是
protected
访问权限是
该类和他的子类都能访问
参考技术C default 包级别访问 参考技术D default 包内可见

面试题解五 访问修饰符的区别

java中的访问修饰符

修饰符权限图:

技术图片

public是Java语言中访问限制最宽的修饰符,一般称之为“公共的”,可以修饰成员变量、成员方法、构造方法和类
其次是protected介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”,可以修饰成员变量,成员方法,构造方法,但不能修饰类
在其次是default,default是默认在代码中表示的形式是什么都不写,通常称为“默认访问权限“或者“包访问权限”,它可以修饰类,成员变量,成员方法,构造方法
最后是private Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”,被private修饰在同一个类中可以访问,其他的场景都不可以访问

关于类:
public:被public修饰的类的名字必须和文件名一致。在同一文件下可以有多个类,但是只能有一个public修饰的类,并且被public修饰的类的名字必须和文件名一致。

关于成员变量和成员方法:
public:被public修饰的成员变量和成员方法,可以被当前类、同包下不同的类、其它包的类访问。
protected:被protected修饰的成员变量和成员方法,可以被当前类、同包下的不同类、以及该类的子类访问(包括不同包下的子类)
default:默认的权限修饰符(不写其它权限修饰符就默认为default),可以被当前类、同包下的不同类访问
private: 被private修饰的成员变量和成员方法,只能被当前类访问,其它的场景都不能访问

关于构造方法:
被public修饰的构造方法,其它的类都可以通过new这个类的对象来调用它;被deafult修饰的构造方法,当前类、同包下的类都可以通过new对象来调用它;被private修饰的构造方法,别的类将无法通过new对象来调用它。

java中对象的访问形式

java访问主要分为两种不同的形式,一种是通过类的对象访问,一般来说正常访问类中的成员变量和成员方法需要先创建对象,然后再通过对象来访问。子类是可以直接对父类中非私有成员进行访问的,换一种说法子类继承了父类中所有的非私有化成员,然后对自己从父类那继承得到的成员进行访问。(另一方面,如果该子类与父类不在同一个包里,那么通过父类的对象实例是不能访问父类的protected成员的)另一种是直接访问,对于static修饰的类的成员,是可以通过类名来直接调用的。










以上是关于在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?的主要内容,如果未能解决你的问题,请参考以下文章

在开发C#程序过程中,如果定义的类不写访问修饰符,则类默认的访问类型是

Java自学-类和对象 访问修饰符

错题解析

封装与继承

面试题解五 访问修饰符的区别

面向对象编程(OOP)————修饰符