关于java的4种访问修饰符
关于java的4种访问修饰符
百曉生 发表于2年前
关于java的4种访问修饰符
  • 发表于 2年前
  • 阅读 139
  • 收藏 0
  • 点赞 1
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

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

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

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

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.javapkg1包中,Student.javapkg2包中)

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.7eclipse下运行通过。

共有 人打赏支持
粉丝 0
博文 1
码字总数 566
×
百曉生
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: