《Java入门第二季》第二章 封装

什么是java中的封装
1、封装的概念:隐藏信息、隐藏具体的实现细节。

2、封装的实现步骤

1)修改属性的可见性,private。
2)创建修改器方法访问器方法,getXXX/setXXX。(未必一定要写,可以完全隐藏起来,仅供内部使用 )
3)对属性的合法性进行判断。例如:Jframe.setSize(a , b)中的参数不能无限大,如果太大就设置为默认值。

使用包管理 Java 中的类
1、包的命名规范是全小写。

Java 中的访问修饰符
1、private:仅自己的方法可以直接访问。


2、friendly:(隐式、默认)本类和同包类可直接访问。


3、protected:在friendly的基础上补充了子类可直接访问(可直接访问的意思是子类可以super.field或者super.method?)。


4、public:所有类都可以直接访问。(new a().public field)

Java 中的 this 关键字

什么是 Java 中的内部类
1、概念:Inner Class就是定义在一个类里面的类。

2、意义:一是提供更好的封装,二是有时候相对外部类用起来更方便。
对外部类而言,可以把内部类隐藏起来(自己用,但也不是直接使用),而不被包中的其它类访问;
对内部类本身而言,可以使用外部类的所有数据,私有的也可以!

3、具体实现:

//外部类HelloWorld
public class HelloWorld {
    
    // 内部类Inner,类Inner在类HelloWorld的内部
    public class Inner {
        
        // 内部类的方法
        public void show() {
            System.out.println("welcome to imooc!");
        }
    }
    
    public static void main(String[] args) {
        
        // 创建外部类对象
        HelloWorld hello = new HelloWorld();
        // 通过外部类对象调用内部类构造方法来创建内部类对象
        Inner i = hello.new Inner();
        // 调用内部类对象的方法
        i.show();
    }
}

Java 中的成员内部类
1、内部类中最常见的就是成员内部类,也称为普通内部类

2、位置:成员变量的位置。

3、无法直接new内部类对象,必须通过外部类对象创建。

4、编译后除了产生Outer.class还会生成一个Outer$Inner.class。

5、需要在类内创建内部类对象才可以调用内部类的方法、属性。

6、内部类访问外部类的成员变量或者方法。
变量不同名的情况:直接使用变量a、b
内部类和外部类具有同名变量的情况:b访问内部类的b,而Outer.this.b访问外部类的b。

Java 中的静态内部类
1、静态内部类不能直接访问外部类的非静态变量,但是可以通过new 外部类().成员的方式访问。

2、如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员。

3、特点:创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

Java 中的方法内部类
1、概念:方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用

2、一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符

原文地址:https://www.cnblogs.com/xkxf/p/6522848.html