一、封装的概念

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互.

面向对象程序三大特性:封装,继承,多态.通俗来说,封装就是套壳屏蔽细节.比如:一个电脑真正工作的是CPU,显卡等硬件,而用户只是通过鼠标和键盘等设备来和计算机进行交互.

二、访问修饰限定符

加粗样式用于控制成员变量和方法的访问权限 , Java中提供了四种访问限定符:

public:哪里都可以使用.default: 只能在同一个包中使用.private:只能在自己的类中使用.

三、封装扩展之包

3.1 包的概念: 为了更好的管理类,把多个类收集在一起成为一组,称为软件包.通俗来说,其实就是一个文件夹. 3.2 包的作用: 在同一个项目中如果想要定义相同名称的类,只要位于不同的包中即可.

3.3 自定义包:

操作步骤: 第一步 : 右键 src -> New -> 包(Package): 第二步 : 对话框中输入包名, 例如:

第三步 : 最后我们打开磁盘上的文件路径, IDEA 就自动创建出来了:

四、 内部类(难点)

内部类也是封装的一种体现:

4.1普通内部类

概念: 未被static修饰的成员内部类。

class OutClass {

private int a;

static int b;

int c = 30;

public void methodA() {

a = 10;

System.out.println(a);

}

public void methodB() {

b= 20;

System.out.println(b);

}

// 普通内部类

class InnerClass {

char c;

public void methodInner() {

a = 100;

b = 200;

methodA();

methodB();

c = 97; //优先使用自己

System.out.println(c);

System.out.println(OutClass.this.c); //要想访问外部的,外部类名.this

}

}

}

public class Test2 {

public static void main(String[] args) {

OutClass outClass = new OutClass(); //创建外部类对象

OutClass.InnerClass innerClass = outClass.new InnerClass(); //结论

innerClass.methodInner();

}

}

【注意事项】 1. 外部类中的任何成员都可以在普通内部类方法中访问 . 2. 在普通内部类方法中访问同名的成员时,优先访问自己的.3. 普通内部类对象必须在先有外部类对象前提下才能创建 .

4.2静态内部类

概念:被static修饰的内部成员类称为静态内部类.

class OutClass {

private int a;

static int b; //默认

public void methodA() {

a = 10;

System.out.println(a);

}

public static void methodB() {

System.out.println(b);

}

// 静态内部类

static class InnerClass {

public void methodInner() {

// a = 10; 不能使用非静态的成员变量或方法

b = 20;

System.out.println(b);

methodB();

}

}

}

public class Test3 {

public static void main(String[] args) {

OutClass.InnerClass innerClass = new OutClass.InnerClass(); //不需要创建对象

innerClass.methodInner();

}

}

【注意事项】 1. 在静态内部类中只能访问外部类中的静态成员 .2. 创建静态内部类对象时,不需要先创建外部类对象,使用类名即可访问.

与君共勉 : 青春有几年,疫情占三年,去做自己喜欢的事吧.

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: