Java对象与类知识点总结(基础知识2)

1.OOP:面向对象程序设计

2.类构造对象的过程称为创建类的实例。

3.封装:将数据和行为组合到一起,但对对象的实现方式隐藏。只能通过对象的方法,对对象的数据进行交互。

4.数据叫实例字段、操作数据的过程叫方法

5.Java所有类都扩展与Object类

 6.对象三大特性:状态、行为、标识

7.类之间关系:依赖use a 使用或操作对方称为依赖

聚合has a包含关系

继承is a 可以用父类的方法,也可以重载方法

8.构造器的名字和类名应该相同

Date类 构造器也叫Date 新构造一个Date对象就在构造器前加new    new Date()

9.对象变量只是引用一个对象,并不实际包含一个对象

10.Date类表示时间点、LocalDate类表示日历表示法表示日期。

11.静态工厂方法新建对象 在:

12.更改器和访问器的区别:
更改器方法调用后,对象状态会改变。

访问器则不会改变(各种getId getName方法)。(例如String.toUpperCase()方法 原对象不会改变,会新建一个新的字符串对象并返回)

13.主力类(workhorse class)自己编写的复杂的类

14.

15.构造器和类同名,每个类可以有一个以上构造器(根据参数不同,进行重载)

构造器没有返回值,总是伴随new一起调用。

16.JDK10之后可以用var声明局部变量,无需指定类型。

var harry=new Employee(10001);

17.隐式参数和显式参数

employee.raiseSalart(5);

emplyee为隐式参数(也叫方法调用的接收者),方法名里面的5是显式参数

在方法中我们可以使用this代表隐式参数

18.数据操作:私有的数据、公共的访问器、公共的更改器

19.如果需要复制可变数据类型,应使用clone方法

20.final定义的字段,必须在构造对象时初始化。

21.所有静态字段(static)属于类,不属于对象

22.静态方法是没有隐式参数的,也就没有this指针,直接用类来调用。

23.静态变量(static):是可变的

静态常量(static final):不可变的。

24.官方Java只有按值调用。(方法得到参数值的一个副本,不能修改参数值的内容)

25.基础类型调用时不能改变,对象引用参数可以改变对象值。

 原因:x为emp的副本,但是他们同时引用到同一个对象,所以在方法里改变的值就是同一个对象的值。

书中有个简单的例子饶有趣味,图示画在了右面。


26.重载overload:多个方法,名字相同,参数不同;

27.方法的签名:方法名+参数类型

index(int ,int )

index(int)

28.默认字段初始化:数值型为0 布尔型为false 引用为null(不建议依赖默认 不好的习惯)

29.没有编写任何构造器,系统默认生成无参构造器

但是只要构造了有参构造器,必须手动构造无参构造器!!!

30.初始化数据字段的方法:

(1)构造器设置值

(2)在声明中赋值

(3)初始化块(每次构造都要执行)(先初始化块 再构造器)

class Emplyee
{
    private int id;

    //初始化块
    {
        id=1000;
    }
    

31.对于静态字段可以有静态初始化块 格式为:

class Emplyee
{
    private static int id;

    //静态初始化块
    static
    {
        id=1000;
    }

32.Java有JVM的自动垃圾回收,所以不需要对象析构器,但是资源还是需要用close关闭的。

33.JAR是Java的归档文件,是压缩的(使用了ZIP格式)。

34.方法注释例子:IDEA设置方法注释参考:https://blog.csdn.net/jianghappyboy/article/details/80794552

35.最后送给大家七个类设计技巧

(1)保证数据私有

(2)对数据进行初始化

(3)不要在类中使用过多基本类型

(4)不是所有字段都需要单独的字段访问器(get)和更改器(set)

(5)分解有过多职责的类(解耦合)

(6)类名、方法名要能体现他们的职责

(7)优先使用不可变的类

原文地址:https://www.cnblogs.com/cckong/p/14260607.html