1.JAVA
面向对象的语言,对象包含两个含义,一个是数据一个是操作。
JAVAEE,java企业版。
JAVASE,java标准版。
JAVAME,主要面向嵌入式等设备应用的开发
jdk是开发工具包,jre是开发环境,jre包括jdk,写java需要jdk,运行需要jre。
2.面向对象的三(四)种特性
1.继承:继承是从已有的类种得到继承信息创建新类的过程。提供继承信息的类称为父类,得到继承信息的类称为子类。
2.封装:将数据与操作数据的方法捆绑起来,对数据的访问只能通过已定义的接口。
3.多态:指允许不同子类型的对象对同一消息作出不同的响应,也就是用同样的对象调用同样的方法但是做了不同的事。方法重载:就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。
方法重写:若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
4.(抽象):抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。
3.访问权限修饰符 public、private、protected, 以及不写(默认)时的区别
作用域 当前类 同package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
4.clone 对象
编程过程中,有时会需要创建两个完全相同的对象a和b,但要修改b时又不能影响a的值,也就是说a和b是完全独立的,但是b中的值又是由a赋予 的,这是就需要用到clone()方法。
5.java对象之间的关系
1.依赖:两个独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,称两者关系为依赖。
2.关联:指一个类的实例A使用另外一个类的实例B,这两个对象之间为关联关系,关联关系分为单项关联和双向关联。在Java中,单向关联表现为:类A当中使用了类B,其中B作为类A的成员变量。双向关联表现为:类A当中使用了类B作为成员变量;同时类B中也使用了类A作为成员变量。
3.组合:相比于聚合,组合是一种耦合度更强的关联关系。存在组合关系的类表示“整体-部分”的关联关系,“整体”负责“部分”的生命周期,他们之间是共生共死的;并且“部分”单独存在时没有任何意义。
4.聚合:聚合关系是关联关系的一种,耦合度强于关联,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象间是相互独立的,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的相互关系。
5.继承:指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,在Java中使用extends关键字实现,如果继承的父类是抽象类,并且父类中有抽象方法,抽象方法必须在子类(这里子类是非抽象类,如果是抽象类可以不必实现)中实现,在Java中一个子类只能继承一个父类。
6.实现:指的是一个类实现一个接口的功能,在Java中一个类可以实现多个接口,使用implements作为关键字。
6.接口
Java接口是一系列方法的声明,是一些方法特征的集合,接口解决了java无法多继承的问题。接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。一个接口就是描述一种能力。
为什么要使用接口:接口被用来描述一种抽象。
因为Java不像C++一样支持多继承,所以Java可以通过实现接口来弥补这个局限;接口也被用来实现解耦;接口被用来实现抽象,而抽象类也被用来实现抽象。
*为什么一定要用接口呢?接口和抽象类之间又有什么区别呢?*原因是抽象类内部可能包含非final的变量,但是在接口中存在的变量一定是final,public,static的。
7.变量
变量类型:
类变量:独立于方法之外的变量,用 static 修饰。静态变量,类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。
实例变量:独立于方法之外的变量,不过没有 static 修饰,在方法,构造方法,语句块之外。
局部变量:类的方法中的变量。局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。在执行完局部变量所在的方法后,局部变量会被销毁。
8.构造方法
构造方法是类的一种特殊方法,用来初始化类的一个新的对象,在创建对象(new 运算符)之后自动调用。Java 中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。
特点:方法名必须与类名相同;可以有 0 个、1 个或多个参数;没有任何返回值,包括 void;默认返回类型就是对象类型本身;只能与 new 运算符结合使用。
注意:不要在构造方法里使用 return 来返回当前类的对象,因为构造方法的返回值是隐式的;构造方法不能被 static、final、synchronized、abstract 和 native(类似于 abstract)修饰;在一个类中,与类名相同的方法就是构造方法;类的构造方法不是要求必须定义的。如果在类中没有定义任何一个构造方法,则 Java 会自动为该类生成一个默认的构造方法;默认的构造方法不包含任何参数,并且方法体为空。
来源:CSDN
作者:花篝
链接:https://blog.csdn.net/weixin_44642493/article/details/104563958