public的用法(主要对不同包的类的访问权限进行修饰)
1.一个类被声明为public ,那么这个类的文件名必须与类同名
2.被声明为public的类,可以在不同包中被调用
3.public可以用于修饰类、成员变量、成员函数
package org.afangdroid; public class PersonPublic { public String name; //被声明为public的权限 public int age; //未被声明为public的权限 public void introduce() { System.out.println(name); } }
测试类
<span style="font-size:14px;">package com.afangdroid; //包的导入 //如果将类导入,那么在使用另一个包的类时就不用写全名(包含包名) import org.afangdroid.PersonPublic; //可以用*来代表包下边的所有类 class TestPublic { public static void main(String argd []) { PersonPublic p = new PersonPublic(); // 测试public用 org.afangdroid.PersonPublic p = new org.afangdroid.PersonPublic(); //不在同一个包中,要用全名 p.name = "zhangsan"; //被声明为public的权限 //p.age = 10; 如果未被声明为public的权限,不能执行成功 p.introduce(); } }</span>
private的使用
创建父类PersonProtected1、用于修饰成员变量和成员函数,特殊情况下可以用于修饰内部类
2、只有在本类中使用被private修饰的成员函数和成员变量
测试类package org.afangdroid; //private的用法 //1.给累的成员声明为private,表示只能在当前的类中使用,在这个类的外部通通无法使用 public class PersonPrivate { private String name; private int age; private void introduce() { System.out.println(name); } }
package org.afangdroid; class TestPrivate { public static void main(String argd []) { PersonPrivate p = new PersonPrivate(); //p.name = "zhangsan"; 不能被赋值 //p.introduce(); 不能被访问 } }
default权限的使用
1、类在同一个包中,那么类可以任意使用
2、default(不写任何修饰符的情况下)可以修饰类、成员变量、成员函数
创建PersonDefault类
创建TestDefault类package org.afangdroid; //如果类在同一个包中,那么类可以任意使用 //default(不写任何修饰符的情况下)可以修饰类、成员变量、成员函数 class PersonDefault { String name; int age; void introduce() { System.out.println(name); } }
package org.afangdroid; class TestDefault { public static void main(String argd []) { PersonDefault p = new PersonDefault();//在同一个包中,不用加包名 p.name = "zhangsan"; p.introduce(); } }
Protected权限
1、Protected权限拥有和default一样的功能,但是default只能修饰成员变量和成员函数
2、Protected可以跨包使用,允许挎包的继承
3、跨包的时候只有该类的子类才可以访问
<span style="font-size:18px;">package com.afangdroid;
public class PersonProtected
{
protected String name; //子类可以使用父类中被声明为protected的成员
protected int age;
void eat()
{
System.out.println("eat");
}
void sleep()
{
System.out.println("sleep");
}
}</span>
创建子类StudentProtected
<span style="font-size:18px;">package org.afangdroid;
import com.afangdroid.PersonProtected;
class StudentProtected extends PersonProtected
{
void introduce()
{
System.out.println("我的名字是" + name + ",我的年龄是" + age);
}
}</span>