700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 访问权限修饰符( public protected default private )的使用对象和作用域

访问权限修饰符( public protected default private )的使用对象和作用域

时间:2020-07-16 18:21:41

相关推荐

访问权限修饰符( public protected default private )的使用对象和作用域

使用范围:

Java中,外部类的修饰符只能是public或protected(默认)这两种;而类的成员(属性,方法,内部类)的修饰符可以是(public,protected,default,private)四种

作用域:

public:

当用使 public修饰类成员时,该成员可以在任意类中被访问(不管是包内还是包外的)

protected:

当用使 protected修饰类成员时,该成员可以被所在包内的任意类 或 其它包中与他有父子关系的子类访问

default:

类的成员不用(public,protected,private)访问修饰符修饰时默认为default,默认修饰的成员可以被所在包内的任意类访问

private:

当用使private修饰成员变量时,该类的成员仅能在该类内部被访问,或者通过public修饰方法(如:setxx()和getxx())来访问

扩展1:

一个类怎样调用另一个类中的属性和方法?

1.如果类的属性和方法是静态的(属性/方法使用了static修饰),可以直接通过类名调用,无需创建对象

如:

类名.变量名

类名.方法名()

2.如果类的属性和方法是非静态的,则需要使用该类的实例对象来调用

如:

类名 对象名=new 类名();

对象名.变量名

对象名.方法名()

3.如果另一个类的属性和方法是私有的,则不能被直接调用

//调用类成员的方法public class Person {public static void main(String[] args) {Teacher.teacher(); //调用静态方法System.out.println(Teacher.profession="老师"); //调用静态属性Student stu=new Student(); stu.student(); //调用非静态方法System.out.println(stu.profession="学生"); //调用非静态属性Worker work=new Worker();work.setProfession("工人"); //设置private属性值work.getProfession(); }}class Teacher{public static String profession;public static void teacher(){System.out.print("我是一名");}}class Student{public String profession;public void student(){System.out.print("我是一名");}}class Worker{private String profession;public String getProfession() {System.out.print("我是一名"+profession);return profession;}public void setProfession(String profession) {this.profession = profession;}}输出结果:我是一名老师我是一名学生我是一名工人

扩展2:

对象和实例的区别?

实例一定是对象,但对象不一定是实例 。因为对象是一个抽象概念,你可以说类是对象,也可以说实例是对象。

实例是需要分配内存的,不论是直接赋值,还是new出来的,都是在内存中具体存在的。

但对象可能是null的,比如:定义一个类时,只是在描述某类事物的特征和行为,并没有产生具体的数据,这个时候它是一个对象,但不是一个实例;只有通过new关键字创建该类的实例对象后,系统才会为这个对象分配空间,存储自身的数据,这个时候,这个对象就能一个实例

Test t=new Test();

new 类名时,就会在堆中创建一个实例对象,并为它分配一块内存空间,而t就是这个实例对象的引用(说具体点就是这个对象的内存地址的引用)

注:

1.外部类不能使用static修饰,只能使用public,abstract,final或默认无修饰

2.静态方法不能直接调用动态方法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。