zoukankan      html  css  js  c++  java
  • java学习--基础知识进阶第四天--笔记

    今日内容

    权限修饰符
    内部类


    包(package)
    包的作用
    用来分类管理Java文件

    包的特点
    (1)可以有多层,每一层之间用.来隔开
    (2)相同包下不能有同名的类,不同包下可以有同名的类
    (3)包声明使用package关键字,包声明必须位于文件的第一行有效代码

    包的命名规范:
    全部都小写,如果有多层使用.来隔开
    一般都是公司域名倒着写,www.itheima.com->com.itheima

    不同包的下的类互相访问
    相同包下的类可以互相访问
    不同包下的类的访问需要导包,使用import关键字

    导包的快捷键:
    alt+/
    ctrl+shift+o

    权限修饰符(4种)
    public > protected > 默认 > private

    本类 本包 不同包的子类 不同包的其他类
    public √ √ √ √
    protected √ √ √
    默认 √ √
    private √


    修饰符的总结
    权限修饰符
    public、protected、默认、private
    其他修饰符
    static、abstract(抽象)、final


    可以修饰以下内容的:
    类(比成员变量多两种)
    public、默认、abstract、final

    成员变量(除了abstract不能修饰,其他的六种都可以修饰)
    public、protected、默认、private
    static、final

    局部变量(只有两种)
    默认、final

    成员方法(都可以修饰)
    public、protected、默认、private
    static、abstract、final

    构造方法(只有权限修饰符可以修饰)
    public、protected、默认、private

    内部类
    类中的组成部分
    成员变量(常量)
    成员方法(包括getters方法和setters方法)
    构造方法(无参构造方法、有参构造方法)
    代码块(静态代码块、构造代码块)
    内部类(接口、枚举)

    分类:
    成员内部类
    位置:类中方法外
    局部内部类
    位置:方法中
    匿名内部类(掌握)
    位置:方法中


    成员内部类
    特点:
    在类中方法外定义的,和成员变量以及成员方法定义的位置相同
    成员内部类可以直接使用外部类的成员,包括私有的

    创建对象
    格式:
    外部类名.内部类名 对象名 = new 外部类名().new 内部类名();
    例如:
    Outer.Inner i = new Outer().new Inner();

    成员内部类的修饰符
    public、protected、默认、private
    static、abstract、final

    private修饰
    只能在本类中使用,其他类中不能使用
    static修饰
    调用方法
    非静态方法
    外部类名.内部类名 对象名 = new 外部类名.内部类名();
    对象名.方法名();
    例如:
    Outer2.Inner2 i = new Outer2.Inner2();
    i.function(); // 此处function()方法是非静态方法
    静态方法
    外部类名.内部类名.方法名();
    例如:
    Outer2.Inner2.function(); // 此处function()方法是静态方法

    局部内部类
    特点:
    定义在方法中,出了所在的方法就不可用
    必须先定义局部内部类,再使用

    使用:
    只能在局部内部类所在的方法中创建该局部内部类的对象,然后再调用该局部内部类中的方法

    匿名内部类
    特点:
    定义在方法中的
    本质上可以看做是一个每一名字的局部内部类
    会创建匿名内部类的对象

    创建匿名内部类对象的格式
    new 接口()或父类(参数){

    };

    匿名内部类对象的本质是创建该父类的子类对象,或者该接口的实现类对象

    应用场景
    作为实际参数进行传递

  • 相关阅读:
    19年下半年读书清单一览
    2019-2020:时间戳
    全链路压测资料汇总——业内大厂解决方案
    个人公众号开通啦
    windows 10环境下安装Tensorflow-gpu
    如何判断安卓模拟器的型号(品牌)
    socket.io的websocket示例
    Node + Selenium使用小结
    基于SOUI开发一个简单的小工具
    国际化之Android设备支持的语种
  • 原文地址:https://www.cnblogs.com/bigorangehasc/p/8639346.html
Copyright © 2011-2022 走看看