• 2020-02-26(观看视频笔记)


    1、形式参数和返回值的问题

      (1)形式参数:

          类名:需要该类的对象

          抽象类名:需要该类的子类对象

          接口名:需要该接口的实现类对象

      (2)返回值类型

          类名:返回的是该类的对象

          抽象类名:返回的是该类的子类对象

          接口名:返回的是该接口的实现类的对象

      (3)链式编程

          对象.方法1().方法2().方法3();

          这种用法:其实再方法1()调用完毕后,是一个对象。

          方法2()调用完毕后,应该放回一个对象。

          方法n()调用完毕后,可能是对象,也可以不是对象。

    2、包

      (1)其实就是文件夹

      (2)作用:

        A:区分同名的类

        B:对类进行分类管理

          a:按照功能分

          b:按照模块分

      (3)包的定义:

        package 包名;

        

        多级包用.分开。

      (4)注意事项:

        A:package语句必须在文件中的第一条有效语句。

        B:在一个java文件中,只能由一个package。

        C:如果没有package。默认就是无包名。

      (5)带包的编译和运行

        A:手动式

        B:自动式

          java -d . 类名.java

    3、导包

      (1)格式:

        import 包名...类名;

        import 报名...*;

      (2)package,import,class的顺序

          package > import > class

    4、权限修饰符

      (1)权限修饰符

                本类    同一个包下    不同包下的子类    不同包下的无关类

       private      Y

       默认       Y      Y  

       protected     Y      Y        Y

       public        Y      Y        Y          Y

    5、常见的修饰符

      (1)分类:

        权限修饰符:private,默认,protected,public

        状态修饰符:static,final

        抽象修饰符:abstruct

      (2)常见的类及其组成的修饰

        类:

          默认,public,final,abstruct

          常用的:public

        成员变量:

          private,默认,protected,public,static,final

          常用的:public

      (3)另外比较常见的:

          public static final int 下= 10;

          public static void show() {}

          public final void show() {}

          public abstract void show();

    6、内部类

      (1)把类定义在另一个类的内部,该类就被称为内部类。

      (2)内部类的访问规则:

        A:可以直接访问外部类的成员,包括私有

        B:外部类想要访问内部类成员,必须创建对象

      (3)内部类的分类

        A:成员内部类

        B:局部内部类

      (4)成员内部类

        A:private为了数据的安全性  

        B:static 为了访问的方便性

        成员内部类不是静态的:

          外部类名.内部类名 对象名 = new 外部类名.new 内部类名();

        成员内部类是静态的:

          外部类名.内部类名 对象名 = new 外部类名.内部类名();

      (5)成员内部类的面试题(看程序写结果)

          30,20,10

          class Outer {

            public int num = 10;

            class Inner {

              public int num = 20;

              public void show() {

                int num = 30;

                System.out.println(num);

                System.out.println(this.num);

                System.out.println(Outer.this.num);

              }

            }

          }

      (6)局部内部类

        A:局部内部类访问局部变量必须加final修饰。

        B:为什么?

          因为局部变量使用完毕就消失,而堆内存的数据并不会立即消失。

          所以,堆内存还是用该变量,而该变量已经没有了。

          为了让该值还存在,就加final修饰。

      (7)匿名内部类  

        A:是局部内部类的简化形式

        B:前提:

          存在一个类或者接口

        C:格式

          new 类名或者接口名() {

            重写方法;

          }

        D:本质

          其实是继承该类或者实现接口的子类内名对象。

      (8)内名内部类在开发中使用

          我们在开发中的时候,会看到抽象类,或者接口作为参数。

          而这个时候,我们知道实际需要的是一个子类对象。

          如果该方法仅仅调用一次,我们就可以使用匿名内部类的格式简化。

          interface Person {

            public abstract void study();

          }

          class PersonDemo {

            public void method(Person p) {

              p.study();

            }

          }

          class PersonTest {

            public static void main(String[] args) {

              PersonDemo pd = new PersonDemo();

              pd.method(new Person() {

                public void study() {

                  System.out.println("...");

                }

              });

            }

          }

      (9)匿名内部类的面试题(补全代码)

        interface Inter {

          void show();

        }

        class Outer {

          //补全代码

          public static Inter method() {

            return new Inter() {

              public void show() {

                System.out.println("HellwWorld");

              }

            };

          }

        }

        class OuyerDemo {

          public statc void main(String[] arge) {

            Outer.method().show();    //输出  HelloWorld

          }

        }

  • 相关阅读:
    PostMan系列之—-01 简介
    JMeter 系列之—-04 支持CI
    JMeter 系列之—-03 生成脚本
    Jenkins基础篇 系列之-—09 认识钩子
    jenkins高级篇 pipeline系列之-—04语法
    Jenkins基础篇 系列之-—08 实现SQL脚本批量执行补充
    Cypress 系列之----04 登录的不同实现
    【自己的下载平台】搭建aria2网站
    【h5ai】搭建服务器目录
    java面试 (六)
  • 原文地址:https://www.cnblogs.com/buhuiflydepig/p/12368228.html
Copyright © 2020-2023  润新知