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 接口()或父类(参数){

    };

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

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

  • 相关阅读:
    洛谷—— P2234 [HNOI2002]营业额统计
    BZOJ——3555: [Ctsc2014]企鹅QQ
    CodeVs——T 4919 线段树练习4
    python(35)- 异常处理
    August 29th 2016 Week 36th Monday
    August 28th 2016 Week 36th Sunday
    August 27th 2016 Week 35th Saturday
    August 26th 2016 Week 35th Friday
    August 25th 2016 Week 35th Thursday
    August 24th 2016 Week 35th Wednesday
  • 原文地址:https://www.cnblogs.com/bigorangehasc/p/8639346.html
Copyright © 2011-2022 走看看