面向对象
构造方法
特点:
方法名和类名相同,没有返回值
作用:
1:使用new关键字的时候会调用到构造器。本质是在调用构造器。
2:用来初始化对象
注意
无参构造默认存在(隐式存在),但是在定义了有参构造之后必须显式定义无参构造。
类与对象的总结
类是一个模板是抽象的,对象是类的实例。
八大基本数据类型:
Java中的数据类型,分为引用类型和基本数据类型。基本类型又分为8种:
整型:byte,short,int,long
浮点型:float,double
字符型:char
Boolean型:boolean
封装
作用:
高内聚低耦合
1、提高程序的安全性,保护数据
2、隐藏代码的细节
3、统一接口
4、增强了程序的可维护性
继承 (在Java中所有的类都默认继承Object类)
继承的本质是对类进行抽象,从而实现对现实事物更好的建模。
子类(派生类)是父类(基类)的扩展。
子类继承父类,使用关键字extends
表示。例如:public class Student extends
Person(){...}
子类只能继承一个父类
父类中私有的方法不能被继承
关于super与this的用法
在一个类中,this表示使用当前类的属性,而super则表示使用父类中的属性。
注意:
1、super调用父类的构造方法,必须在构造方法的第一行
2、super只能出现在子类的方法或者构造方法中
3、super和this不能同时调用构造方法
方法的重写
需要有继承关系,子类重写父类的方法
1、方法名必须相同
2、参数列表必须相同
3、修饰符:范围可以扩大单不能缩小,子类不能严于父类。
4、抛出的异常:范围可以缩小但不能扩大;ClassNotFoundException -->Exception
多态
什么是多态?——父类型的引用指向子类型的对象
1、多态是方法的多态,属性没有多态。
2、类之间要有继承关系
3、子类重写父类的方法
抽象类
用abstract修饰的类
用abstract修饰的方法称为抽象方法,抽象方法没有方法体。
抽象类的方法必须由子类实现
- 抽象类不能被实例化
抽象类中可以有普通方法,但是有抽象方法的类一定是抽象类。(抽象方法必须在抽象类中)
接口todo
作用:
- 是一个约束
内部类
多线程详解
线程的五大状态
- 创建状态
- 就绪状态
- 阻塞状态
- 运行状态
- 死亡状态
注解
元注解:负责注解其它注解的注解
@Target
用于描述注解的使用范围(即:被描述的注解可以使用在什么地方。@Retention
表示需要在什么级别保存该注释信息,用于扫描注解的生命周期。(表示我们的注解在什么地方才有效)- (SOURCE<CLASS<RUNTIME)
@Doucumented
表示该注解将被包含在Javadoc中@Inherited
表示子类可以继承父类中的该注解
自定义注解:@interface
@target({ElementType.METHOD,ElementType.TYPE})//表示我们可以用在哪些地方 @Retention(value=RententionPolicy.RUNTIME)//表示我们的注解在什么地方才有效 @Documented//表示是否将注解生成在JavaDoc中 @Inherited//子类可以继承父类的注解 public @interface MyAnnotation{ //注解的参数: 参数类型+参数名 (); String name() default "zhangsan"; }
反射
反射的优点和缺点
优点:
- 可以动态创建对象和编译,体现很多的灵活性。
缺点:
- 对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM我们希望做什么并且它满足我们的要求。这类操作总是慢于直接执行相同的操作。
来源:https://www.cnblogs.com/preczex/p/12057833.html