文档章节

关于java的4种访问修饰符

百曉生
 百曉生
发布于 2016/01/29 16:40
字数 566
阅读 142
收藏 0

         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
作品 0
海淀
程序员
java基础一(第一个java程序、数据类型、访问控制、static、)

一、第一个java程序 public class HelloWord {//public访问修饰符 class关键字,声明为类 HelloWord类名 //public访问修饰符 static关键字 void表示无返回值 main程序入口 } 二、数据类型 Ja...

废柴
02/11
0
0
java的接口、类、属性、方法各有哪些修饰符

参考博客:http://blog.csdn.net/cao_tao199612/article/details/7458245 1、 接口的修饰符只有:public 2、 类的修饰符分为:可访问控制符和非访问控制符两种。 可访问控制符是:公共类修饰符...

yong230
2014/08/04
0
0
Java入门学习之java变量简析 java编程

在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; Java语言支持的变量类型有3种:1、类变量:独立于方法之外...

老男孩Linux培训
05/29
0
0
从 java bean 的内省到 dbutils 的应用

java bean 内省的基础 java bean 的内省,其实可以算是反射的一种基础应用,关于 java 的反射,无非就是获得对应的类、属性、方法、修饰符等的应用,对于 java 的反射探讨,可以点击参考 ja...

peiquan
07/04
0
0
关于Spring Aop存在的一点问题的思考

在本人前面的文章Spring Aop原理之切点表达式解析中讲解了Spring是如何解析切点表达式的,在分析源码的时候,出现了如下将要讲述的问题,我认为是不合理的,后来本人单纯使用aspectj进行试验...

爱宝贝丶
08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ajax 提交返回map集合 获取不到值

后台java代码 @RequestMapping("/cameraList") @ResponseBody public Map<String, Object> cameraListForPage(@RequestParam(defaultValue = "1", value = "page") Integer page......

S三少S
22分钟前
43
3
TypeScrip最污的技术课-技术胖TypeScript图文视频教程

近日Node.js之父瑞安达尔(Ryan Dahl)发布新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node,使用 rust 语言代替 C++ 重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终...

JamesView
24分钟前
7
0
Es学习笔记

1.过滤排重聚合查询 筛选出某一个聚合值的个数统计。相当于mysql的distinct. 关键字:cardinality "aggs": { "2":{ "cardinality": { "field": "field" } ...

Gmupload
27分钟前
1
0
h5语义化标签

语义化HTML:用最恰当的HTML元素标签做恰当的事情。 优点: 提升可访问性; SEO; 结构清晰,利于维护; 通用容器:div——块级通用容器;span——短语内容无语义容器。 <title></title>:简...

莫西摩西
32分钟前
1
0
修改11g rac中 asm diskstring的发现路径

问题 : 如果我 们asm_disking以前是/dev/oracleasm/disks/* ,并且现在已经有磁盘组再用这个磁盘串了,那么,我们无法直接修改这个发现串为 ORCL:*,修改会报错,提示存在的磁盘无法使用新的...

tututu_jiang
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部