java中定义了几种访问修饰符_关于java的4种访问修饰符

在java中,访问修饰符有以下几种,public、protected、默认和private,它们的使用情况如下:

e5d8abcbbf82a83a9d65e385a0bbc5fd.png

下面举例说明(重要的说明在代码的注释中)。

例1:

/*

* 作者:百曉生

* 日期:2016年1月29日

* 功能:访问修饰符在不同类中的使用情况

* */

public class Test {

public static void main(String[] args) {

Student std1 = new Student();

std1.num = 1;

std1.name = "叶修";

std1.age = 25;

//std1.sex = '男'; //private的属性(变量)或方法(函数)只能在其定义的本类中使用

std1.eat();

std1.speak();

std1.run();

//std1.jump();  //理由同12行

}

}

class Student {

public int num;

protected String name;

int age;

private char sex;

public void eat() {}

protected void speak() {}

void run() {}

private void jump() {}

}

例2:(Test.java在pkg1包中,Student.java在pkg2包中)

Test.java:

/*

* 作者:百曉生

* 日期:2016年1月29日

* 功能:访问修饰符在不同包中的使用情况

* */

package pkg1;

import pkg2.Student;

public class Test {

public static void main(String[] args) {

Student std1 = new Student();

std1.num = 1;

//std1.name = "叶修"; //当Student类在另一个包中时,可以发现除了public外,其它的属性或方法都无法直接使用

//std1.age = 25;

//std1.sex = '男'; //private的属性(变量)或方法(函数)只能在其定义的本类中使用

std1.eat();

//std1.speak();

//std1.run();

//std1.jump();  //理由同14行

}

}

Student.java:

package pkg2;

public class Student {

public int num;

protected String name;

int age;

private char sex;

public void eat() {}

protected void speak() {}

void run() {}

private void jump() {}

}

例3:

Test.java:

/*

* 作者:百曉生

* 日期:2016年1月29日

* 功能:访问修饰符在子类中的使用情况

* */

package pkg;

import pkg1.College_student;

public class Test {

public static void main(String[] args) {

College_student cstd1 = new College_student();

cstd1.num = 101;

cstd1.name = "苏沐秋"; /*这里需要指出的是,当在同一个包下时,protected和默认修饰符的功能是一致的;

只有当子类和父类不在同一个包中时,才可以发现着两种修饰符的区别*/

//cstd1.age = 25;

//cstd1.sex();

cstd1.eat();

cstd1.speak();

//cstd1.run();

//cstd1.jump();

}

}

Student.java:

package pkg;

public class Student {

public int num;

protected String name;

int age;

private char sex;

public void eat() {}

protected void speak() {}

void run() {}

private void jump() {}

}

在pkg1包中的College_student.java:

package pkg1;

import pkg.Student;

public class College_student extends Student{

}

所有代码均在win7系统下jdk1.7的eclipse下运行通过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值