Java面向对象提高

2

Java面向对象提高

  之前介绍了Java面向对象的基础内容,其中引入了public关键字,这时Java面向对象的一种访问控制权限,这非常重要,可以更灵活的使用我们创建的类和对象,保护类中的内容,不被其他人调用。今天带小伙们看一看Java中的四种访问控制权限。

访问控制权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//这个文件在demo01包下,考察类内是否可以访问
package demo01;

public class Father {
//public关键字:类内,同一包内,子类,不同包非子类均可以访问
public String name;
//protected关键字:类内,同一包内,子类可以访问
protected int age;
//默认(没有访问控制权限):类内,同一包内可以访问
String id;
//private:类内可以访问
private int money;

public Father() {
}

public Father(String name, int age, String id, int money) {
this.name = name;
this.age = age;
this.id = id;
this.money = money;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}

public String getId() {
return id;
}

public int getMoney() {
return money;
}
}

//这个文件在demo02包下,考察不同包的子类是否可以访问
package demo02;
import demo01.Father;

//继承:面向对象的第二大特点,可以获取父类的部分成员,实现代码的复用。
//语法是public + class + 子类名 + extends + 父类名
//super关键字,获取父类的成员变量,成员方法或者构造函数。
public class Son extends Father{
public Son() {
}

public Son(String name, int age, String id, int money) {
super(name, age, id, money);
}
}

//这个文件在demo01包下,考察同一包下是否可以访问
package demo01;
import demo02.Son;

public class Oop2 {
public static void main(String[] args) {
Father father = new Father("父类", 30, "123456", 1000000);
//同一包下,private不能直接访问,其他的三种都可以直接访问。
System.out.println("我的名字是:" + father.name + " 我的年龄是:" + father.age + " 我的id是:" + father.id + " 我的存款是:" + father.getMoney());
Son son = new Son("子类", 3, "234567", 100);
//不同包子类中,private和默认权限不能直接访问,其他的两种都可以直接访问。
System.out.println("我的名字是:" + son.name + " 我的年龄是:" + son.age + " 我的id是:" + son.getId() + " 我的存款是:" + son.getMoney());
}
}

//这个文件在demo02包下,考察不同包非子类是否可以访问
package demo02;
import demo01.Father;

public class Stranger {
public static void main(String[] args) {
Father father = new Father("父类", 30, "123456", 1000000);
//不同包非子类中,private,默认和protected都不能直接访问,只有public可以直接访问。
System.out.println("我的名字是:" + father.name + " 我的年龄是:" + father.getAge() + " 我的id是:" + father.getId() + " 我的存款是:" + father.getMoney());
}
}

1

Java小结

  今天给大家介绍四种Java的访问控制权限以及继承的基本概念,这对于Java的学习非常重要,因此小伙伴们务必掌握它。

-------------本文结束感谢您的阅读-------------
0%