目录
本人菜鸡大学生,刚开始学习java,笔记会有很多不严谨不完整的地方,欢迎大佬指正!我将会持续更新与完善。
1.类和对象
2.方法的重载的条件:
3.变量
4.封装
5.类的继承(extends)
6.多态
7.静态初始化块
8.final修饰符
9.抽象类(abstract)
10.接口(interface、实现用 implements )
12.内部类
13.匿名类
14.获取时间戳的三种方式
类(FCM):F:filed:属性,C:constructor:构造器,M:method:方法(函数)(出口,入口,函数体);
面向对象的三大特征:封装、继承、多态
1.1.类的定义:
1.2.定义变量的语法格式
1.3.定义方法的语法格式
1.4.构造方法的语法格式
主要用来创建类的实例化对象,可以完成创建实例化对象的初始化工作
1.5对象的使用
1.6.this的调用:
1.7.spuer:在子类方法中调用父类被覆盖的实例方法,必须写在构造方法中的第一行
2.1方法的覆盖(Override)的条件:
区别:成员变量:定义在类中,有初始值
局部变量:定义在方法中,无初始值
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而且通过该类提供的方法来实现对隐藏信息的操作和访问。
继承的特点:
1,java类没有多继承,只有单继承,但是可以多重继承
2,不能继承父类的三种情况 private成员、构造方法、子类与父类不在同包,使用默认访问权限的成员
3,java中所有的类的祖先都是Object类
4,不同的叫法 父类:基类,超类 子类:派生类
访问修饰符总结:
5.1.子类重写父类方法(覆盖):
三相同:方法名,形参列表(个数,类型,顺序都相同),返回值
一大:子类访问权限比父类要大或相等
一小:子类抛出的异常比父类要小或相等
可以理解为一个事物的多种表现形态;通过父类的引用指向子类的对象实体,当调用方法时,实际执行的是子类重写父类的方法。
对于多态来说,编译时,”看左边“,将此引用变量理解为父类的类型;运行时,”看右边“,关注于真正对象的实体,子类的对象,那么执行的方法就是子类重写的。
多态存在的条件: 有继承、有覆盖、父类指向子类的引用;
6.1.转型
注意:
1,向上转型后通过父类引用变量调用的方法是子类覆盖或继承父类的方法,
通过父类引用变量无法调用子类特有的方法。
2,向下转型后可以访问子类特有的方法,必须转换为父类指向的真实子类类型,
否则将出现转换异常(ClassCastException)。
4.instanceof:运算符用于判断一个对象是否属于一个类或实现一个接口。
instanceof:运算符通常和强制类型转换结合使用,先通过instanceof进行类型判断,
再进行相应的强制类型转换。
初始化块是 Java 类里可以出现的第 4 种成员(前面 3 个依次有属性、方法和构造方法)
如果定义了初始化块使用了static修饰符,则这个初始化块就变成了静态初始化块,也就被称为类初始化块。
执行的优先级:静态代码块 》一般代码块 》构造器,
最终的,可用于修饰类、属性和方法,被其修饰的类、变量和方法将无法发生改变。
1.修饰类,这个类不可以被继承
2.修饰方法,这个方法不可以被重写
3.final修饰属性,此属性就是一个常量,用大些字符去表示
4.抽象方法和抽象类必须使用 abstract 修饰符进行定义,有抽象方法的类只能被定义成抽象 类,抽象类里可以没有抽象方法。
5.抽象类不能创建实例,它只能当成父类来被继承。
[修饰符] interface 接口名 extends 父接口 1,父接口 2…{
零个或多个常量定义… 零个或多个抽象方法定义…
}
2,接口的特征:
1.不能被实例化,接口没有构造方法
2.接口只能被实现implements 或者继续定义为接口
3.接口中的属性默认是 public static fianl 修饰的静态常量
4.接口中的方法默认是 public abstract 修饰的抽象方法
5. 只能有抽象方法
6. 接口中的方法必须被子类重写
7.一个类实现多个接口用逗号隔开
8.如果一个类有继承又有实现,那么是先继承再实现
9.接口可以继承多个接口,用逗号隔开
10.类和接口是实现(implements)关系,一个类可以实现多个接口;接口和接口是继承(extends)关系,可以继承多个接口;
11.接口和抽象类在用法上的差别:
⚫ 接口里只能包含抽象方法,不包含已经提供实现的方法;抽象类中则完全可以包含普 通方法。
⚫ 接口里不能定义静态方法;抽象类可以定义静态方法。
⚫ 接口里只能定义静态常量属性,不能定义普通属性;而抽象类里则既可以定义普通属 性,也可以定义静态常量属性。
⚫ 接口不包含构造方法;抽象类里可以包含构造方法,但并不是用于创建对象,而是让 其子类调用这些构造方法来完成属于抽象类的初始化操作。
⚫ 接口里不能包含初始化块;但抽象类则完全可以包含初始化块。
⚫ 一个类最多只能有一个直接父类,包括抽象类;但一个类可以直接实现多个接口,通 过这些接口弥补 Java 单继承方面的不足。
类的第五类成员,类里面定义的类成为内部类;
匿名类就是没有名称的内部类,它将类和类的方法定义在一个表达式中。
1)System.currentTimlls()
2)Calendar.getInstance().getInTimeMills()
3)new Date().getTime()