Java的访问修饰符,全称访问修饰控制符号,是对Java程序中的类,类中属性,方法,进行访问限制,或者控制访问控制范围的。
访问修饰符 同类 同包 子类 不同包
* public 可 可 可 可
* protected 可 可 可 不可
* 默认(即什么都不写) 可 可 不可 不可
* private 可 不可 不可 不可
必须牢记,没什么道理可讲。
其中可表示可以访问,不可表示不可以访问。
对于类只有public 和默认两种访问修饰符。
直接上代码吧。
1.(同一个包中):
package demo.b;
public class Modifier {
public int age=19;
protected String name="大学生";
char sex='男';
private int mathScore=59;
public void getAge(){
System.out.println("age:"+age);
}
protected void getName(){
System.out.println("name:"+name);
}
void getSex(){
System.out.println("sex"+sex);
}
private void getMathScore(){
System.out.println("mathScore"+mathScore);
}
}
```java
package demo.b;
public class Test {
public static void main(String[] args){
Modifier m=new Modifier();
System.out.println("age:"+m.age);
System.out.println("name:"+m.name);
System.out.println("sex:"+m.sex);
// System.out.println(m.mathScore);//出错了。
m.getAge();
m.getName();
m.getSex();
// m.getmathScore();//出错
//若注释出错的两行 结果如下图。
}
}
age:19 name大学生 sex男 age:19 name:大学生 sex男 Process finished with exit code 0
2.(不同包中):
package demo.c;
public class Modifier {
public int age=19;
protected String name="大学生";
char sex='男';
private int mathScore=59;
public void getAge(){
System.out.println("age:"+age);
}
protected void getName(){
System.out.println("name:"+name);
}
void getSex(){
System.out.println("sex"+sex);
}
private void getMathScore(){
System.out.println("mathScore"+mathScore);
}
}
package demo.b;
import demo.c.Modifier;
public class Test {
public static void main(String[] args){
Modifier m=new Modifier();
System.out.println("age:"+m.age);
System.out.println("name:"+m.name);//出错
System.out.println("sex:"+m.sex);//出错
// System.out.println(m.mathScore);//出错了。
m.getAge();
m.getName();//出错
m.getSex();//出错
// m.getmathScore();//出错
//若注释出错六行
}
}
修正结果为:
age:19 age:19 Process finished with exit code 0
3.(同类):
package demo.b;
public class Modifier {
public int age=19;
protected String name="大学生";
char sex='男';
private int mathScore=59;
public void getAge(){
System.out.println("age:"+age);
}
protected void getName(){
System.out.println("name:"+name);
}
void getSex(){
System.out.println("sex"+sex);
}
private void getMathScore(){
System.out.println("mathScore"+mathScore);
}
}
代码完全正确.没有出错情况
4.(子类):
JAVA面向对象三大特性:封装,继承,多态。
子类的话就用到继承了,继承就像是继承财产,你家祖宗是个富二代,他们死后钱你可以来用,代码重用的问题,实现了代码复用。
父类称为基类或超类
子类称为派生类
用关键字 extends 说明一个类是另一个类的子类,或者另一个类继承另一个类
继承各式
class 子类名 extends 父类名{
}
上代码



