定义包的格式
package 包名;
多级包用.分开即可
表示当前代码文件的相对目录
相对路径;绝对路径
注意事项:
package语句必须是程序的第一条可执行的代码
package语句在一个java文件中只能有一个
如果没有package,默认表示无包名
导包 import 在package之后,在class出现之前
链式编程:
对象1.对象2.对象3..方法()
对象1.方法1().方法2()...方法n()
内部类:
把类定义在其他类的内部,这个类就被称为内部类
举例:在类A中定义一个类B,类B就被成为内部类
内部类的访问特点:
内部类可以直接访问外部类的成员,包括私有。
外部类要访问内部类的成员,必须创建对象。
按照内部类在类中定义的位置不同,可以分为如下两种格式:
成员位置(成员内部类)
局部位置(局部内部类)
成员内部类:
内部类可以访问外部类的成员,包括私有
正确的创建内部类的对象格式:
外部类名.内部类名 对象名 = 外部类对象.内部类对象;
Outer.Inner oi = new Outer().new Inner(); 静态修饰直接外部类名.内部类对象
局部内部类:
可以直接访问外部类的成员
可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能
匿名内部类:
就是内部类的简化写法。
前提:存在一个类或者接口
这里的类可以是具体类也可以是抽象类。
格式:new 抽象类名或者接口名() {
重写方法;
}
引用数据类型返回类型的问题
类:实际上需要的是该类的对象
抽象类:当抽象类作为形式参数传入方法的时候,需要的是该抽象类的子类对象
接口:当接口作为形式参数传入方法的时候,需要的是该接口具体的实现类的对象
类及其成员的修饰符
修饰符:
权限修饰符:public,protected,默认的,private
状态修饰符:static,final
抽象修饰符:abstract
最常用的是public和private
类:
权限修饰符:默认的,public,
状态修饰符:final
抽象修饰符:abstract
最常用的是:public,默认的
成员变量:
权限修饰符:默认的,public,protected,private
状态修饰符:static,final(需要初始化值)
最常用的是:private
构造方法:
权限修饰符:默认的,public,protected,private
最常用的是:public
成员方法:
权限修饰符:public,默认的,protected,private
状态修饰符:static,final
抽象修饰符:abstract
最常用的是:public
常见的一些组合:
成员变量:public static final 在接口中遇见
成员方法:
1、public abstract
2、public static
3、public final