javaSE进阶学习-02

本文深入探讨JavaSE中的包机制,包括包的命名规则、编译方式及访问控制权限,同时详细解析内部类的概念,如实例内部类、局部内部类、静态内部类和匿名内部类的特点与应用场景。

javaSE进阶学习-02

包机制

  • 包最好采用小写字母

  • 包的命名应该有规则,不能重复,一般采用公司网站逆序, 如:com.bjpowernode.项目名称.模块名称

  • package 必须放到 所有语句的第一行,注释除外

  • 编译javac -d . A.java,会自动编译成对应的文件夹和A.class文件,-d表示带包编译,,是当前目录

import机制

  • 不在同一个包下的时候可以用import导入

  • 系统lang包内会自动导入

访问控制权限

  • 四个:private、protected、public、默认

访问控制修饰符 本类 同包 子类 任意位置

public 可以 ------------------------------------

protected 可以 可以 可以 不行

默认 可以 可以 不行 不行

private 可以 不行------------------------------

object类、默认方法

  • toString方法 :输出引用时候会自动调用toString方法的

  • equals方法,用来判断两个java对象是否相等,“==”是判断的内存地址是不是相等,原方法不够用需要重写

  • java中基本数据类型用“==”,引用数据类型就用equals方法

  • finalize垃圾回收器 ,垃圾回收器在回收某个对象的时候,首先会调用该对象的 finalize 方法

内部类:一个类的内部定义的类,称为内部类

  • 实例内部类 ,实例内部不能定义 static 成员

  • 局部内部类 ,局部内部类是在方法中定义的,它只能在当前方法中使用。和局部变量的作用一样 局部内部类和实例内部类一致,不能包含静态成员

  • 静态内部类不会持有外部的类的引用, 静态内部类可以访问外部的静态变量,如果访问外部类的成员变量必须通过外部类的实例 访问

  • 匿名内部类是一种特殊的内部类,该类没有名字 ,固定语法:在使用的方法内 new 接口名(){方法实现}

public class InnerClassTest05 {
    public static void main(String[] args) {
        InnerClassTest05 innerClassTest05 = new InnerClassTest05();
​
        //使用匿名类调用接口MyInterface
        //new 接口名(){}
        innerClassTest05.method1(new MyInterface() {
            public void add() {
                System.out.println("-------add------");
            }
        });
    }
​
    private void method1(MyInterface myInterface) {
        myInterface.add();
    }
}
​
​
interface MyInterface {
    public void add();
}

具体的还需要在以后的项目里慢慢体会。。。。。。。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值