定义及特点:
定义: 类是对象的抽象;对象是类的实例;
特点: 封装、继承、多态;
链接: https://www.cnblogs.com/hysum/p/7100874.html
关键字:
关键字 | 作用 |
---|---|
static | 指代静态 ; 静态方法是类的方法,不需要创建对象就可以被调用; 无法从static方法内部发出对非static方法的调用; |
final | 变量即常量; 类不能被继承; 方法不能被重写; 属性值不能被更改; final修饰变量时,引用变量不能变,但是引用对象可以修改; |
super | 在对象的内部使用,可以代表父类对象; |
构造方法:
与类名相同;没有返回值;new 对象时会自动加载构造方法的代码;一般用来初始化;
代码路径:E:\IDEA_Study\Scattered_Study\Study\src\构造函数\ConstructionTest1.java
get和set方法:
定义对象时,通过get和set方法操作变量;
代码路径:E:\IDEA_Study\Scattered_Study\Study\src\构造函数\ConstructionTest2.java
Java中的内部类:
1、内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类;
2、内部类的方法可以直接访问外部类的所有数据,包括私有的数据;
3、内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便;
链接: https://www.cnblogs.com/hysum/p/7101974.html
内部类 | 描述 | 代码路径 |
---|---|---|
成员内部类 | E:\IDEA_Study\Scattered_Study\Study\src\内部类\OuterTest1.java | |
静态内部类 | static 修饰的内部类; | E:\IDEA_Study\Scattered_Study\Study\src\内部类\OuterTest2.java |
方法内部类 | 方法内部类定义在外部类的方法中,方法内部类只在该方法的内部可见; | E:\IDEA_Study\Scattered_Study\Study\src\内部类\OuterTest3.java |
匿名内部类 | 使用匿名内部类,必须要继承一个类或实现一个接口; 不能定义构造函数; 不能存在静态成员变量和静态方法; | E:\IDEA_Study\Scattered_Study\Study\src\内部类\OuterTest4.java |
Object类:
Object类是所有类的父类;
抽象类和接口:
抽象类:
Abstract关键字修饰的类;继承抽象类的子类必须重写抽象方法;
代码路径:E:\IDEA_Study\Scattered_Study\Study\src\多态\AbstractTest.java
接口:
interface 修饰接口名;接口中的成员变量一定是static final类型的,且有初始值;
代码路径:E:\IDEA_Study\Scattered_Study\Study\src\多态\ImplementsTest.java
两者区别:
抽象类 | 接口 | |
---|---|---|
只能继承extends一个抽象类; | 可以实现implements多个接口; | |
可以有普通方法、普通成员变量; | 所有方法都是抽象方法,没有普通成员变量; | |
构造方法 | 有 | 无 |
修饰符 | public、protectd; | 只能是public类型,默认是public abstract类型; |
静态方法 | 有 | 无 |
静态成员变量 | 有,可以是任意访问类型; | 有,访问类型只能是public static类型,默认是public static final类型; |
重载与重写:
重载: 允许存在多个同名函数,而这些函数的参数表不同;
重写: 子类方法重写父类的同名方法;
引用类型转换:
向上类型转换、向下类型转换(强转);
instanceof运算符,来解决引用对象的类型;