java 里开头的public 和public class有什么区别
public 可以修饰method、field、class 表示这些为共有,可以被别的class、method来进行访问;
public class 表示定义一个类为公有类,那么当前这个公有类中如果有main函数,这个时候就它的类名,和文件名要完全一致。比如。Test.java为文件名
那么里面的类定义要为 public class Test{
public static void main(String[] args){
}
}
class 用来定义一个类,这个类可以写和自己所在的文件的名称不一致。比如:
Test.java为文件名,里面有两个类
其中一个
class A{
public A(){
System.out.println("Aaaaa");
}
}
public class Test{
public static void main(String[] args){
A a = new A();
}
}
简述public、private、protected 三种访问修饰符的区别
public:声明方法和属性可以被随意访问。
Protected:声明的方法和属性只能被类本身和其继承子类访问。
private:只能被定义属性和方法的类访问。
private 是完全私有的,只有当前类中的成员能访问到.
protected 是受保护的,只有当前类的成员与继承该类的类才能访问.
protected的访问权介于public和private之间,实际上三者的区别就是权限问题,private和protected区别主要体现在其继承类的访问权限上,这些你可以自己编写一个程序,写个类,编译一下你就很清楚他们权限的区别了。
私有成员private member
只能被成员函数和类的友元访问
实行信息隐藏的类把其数据成员声明为private
被保护成员protected member
对派生类derived class 就像public 成员一样
对其他程序则表现得像private
public是公共变量的意思 就是在整个程序运行过程中都管用。
private是私有变量的意思 只有类内可直接访问
protected是受保护变量 类内和子类可直接访问,
继承类型意思是说把父类放在哪。
举例:
class A{
public:
int a1;
protected:
int a2;
private:
int a3;
};
A a;
a.a1;//ok
a.a2;//error
a.a3;//error
class B:public A{
public:
void fb(){
a1;//ok
a2;//ok
a3;//error;
}
};
B b;
b.a1,b.a2,b.a3与a.a1,a.a2,a.a3一样,因为是class B:public A,相当于把A放到了B的public部分。
如
class B:private A{};
则
b.a1,b.a2,b.a3都error,因为相当于把A全放到了B的private部分,从B来看这三个变量,都是private的。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!