Java基础--第十一天

1:包
    (1)包其实就是文件夹。用于区分相同的类名。
    (2)格式:
      package 包名1.包名2...;
    (3)带包的编译和运行
        一、手动建包:
          1,编译:javac PackageDemo.java
          2,手动建包:建三个层次包:cn(itcast(com))
          3,运行:java cn.itcast.com.PackageDemo
        二、自动建包:
          1,编译:javac -d . cn.itcast.com.PackageDemo.java
            -d后的.表示当前目录
          2,运行:java cn.itcast.com.PackageDemo

2:导包
    (1)一般来说,用一个类,需要用该类的全路径名称。
      如果多个地方使用,就比较麻烦,所以java提供了导包操作。
    (2)格式:
      import 包名1.包名2...类名;

      //下面这种属于把指定包下的类都导入。这种用法不推荐。我们应该用谁导谁。
        import 包名1.包名2...*;
    (3)package,import,class的顺序
        package -- import -- class

3:四种权限修饰符
            本类   同包(无关类或者子类)   不同包(子类)   不同包(无关类)
      private    Y
      默认     Y           Y
      protected  Y           Y          Y
      public      Y           Y                         Y        Y

    推荐:
      成员变量 private
      构造方法 public
      成员方法 public

4:不同修饰符修饰的内容(掌握 和内部类无关)
            类     成员变量     成员方法     构造方法
      private    Y         Y        Y
      默认     Y        Y        Y         Y
      protected   Y               Y        Y
      public     Y         Y         Y         Y
      abstract   Y               Y
      static             Y        Y
      final      Y       Y       Y

    注意,常见规则如下:
      所有的类都用public修饰。并且,在一个java文件中,只写一个类。

      所有的成员变量用private修饰。

      所有的成员方法用public修饰。
      如果是抽象类或者接口:
        public abstract + ...

        所有的构造方法用public修饰。
        如果类是工具类或者单例类:
            构造用private修饰


5:内部类
    (1)把类定义在一个类的内部。
    (2)访问特点:
        1:内部类可以直接访问外部类成员,包括私有
        2:外部类要想访问内部类成员,必须创建对象。
    (3)内部类分类:
        1:成员位置  成员内部类
          private 安全
          static 方便调用
        2:局部位置  局部内部类
          定义在方法中。

          局部内部类访问局部变量必须加final修饰。
          延迟生命周期。
    (4)匿名内部类
        1:是定义在局部位置的没有名字的内部类。
        2:前提
          存在一个类,抽象类,或者接口。
        3:格式
          new 类或者接口名()
          {
            重写方法;
          }

          本质理解:其实这是一个继承类或者实现接口的匿名的子类对象。
        4:使用
            当你看到方法的形式参数是接口或者抽象类的时候。
            用匿名内部类改进。(集合,IO,awt)

原文地址:https://www.cnblogs.com/zhidianhcuan/p/4364215.html