Advertisement

Java面向对象重点知识

阅读量:

Java编程基础总结:
类和对象:
类是程序运行时的基本单位,对象是类的实例。
类中包含属性和方法,对象通过实例化类创建。
类名 + "[]"创建引用类型数组,元素默认为null。
方法重载:
方法名相同,参数列表不同的方法。
方便记忆和访问,构造方法用于对象赋值。
构造方法:
在实例化对象时运行,特殊方法,无参构造默认生成。
构造方法可以重载,this用于引用当前对象。
继承:
面向对象编程的重要方式,子类继承父类属性和方法。
使用extends关键字定义子类。
静态关键字:
static用于类和方法,类方法共享资源,不需实例化对象。
抽象类:
没有对象存在的类,不能实例化。
用于定义抽象方法,子类必须重写。
接口:
特殊数据类型,不能实例化,无构造方法。
用于多继承,所有方法为公有抽象方法。
多态:
父类和子类方法调用不同操作,通过强制类型转换实现。
使用instanceof判断对象类型,避免类型转换异常。
垃圾回收管理机制:
JVM自动回收不使用的对象资源,避免内存泄漏。
其他语言如C++需手动释放对象。
总结:Java编程基础涵盖类、对象、方法重载、继承、静态关键字、抽象类、接口、多态及垃圾回收管理机制,是程序设计的重要基础。

第一天

  1. 类与对象
    1.1) 什么是对象
    对象即为事物,万物皆为对象(事物)。在现实生活中,对象的存在 precedes 类型的抽象。
    1.2) Java中的类与对象
    类的定义先于对象的出现。
    1.2.1) 定义类
    类的定义包含属性和方法。
    1.2.2) 实例化对象
    创建对象实例时,使用语法 d = new Dog();
    1.2.3) 使用对象
    通过引用调用对象的属性和方法。例如:
    d.name = "xxx";
    d.age = 10;
    d.show();

第二天

  1. 方法重载
  1. 方法重载的概念
    在同一个类中,方法名称相同,但参数列表不同的多个方法,其访问修饰符与返回值类型无关。
  2. 方法重载的意义
    方法重载的主要作用在于便于记忆和理解,尤其是在构造方法时需要考虑。

2 构造方法

  1. 构造方法是什么
    构造方法是在对象实例化过程中执行的特殊方法。
  2. 为什么要引入构造方法
    构造方法的引入有助于为对象进行初始化赋值。
  3. 如何编写构造方法
    构造方法是一种用于定义对象初始化行为的特殊函数,通常以public关键字开头,括号中包含可选的参数,用于为对象赋值。
  4. 注意事项
    4.1) 如果类中没有无参构造方法,则会自动生成一个默认的无参构造方法。
    4.2) 如果类中已经定义了构造方法,则默认的无参构造方法将被继承。
    4.3) 构造方法可以接受参数,用于为对象赋值。
    4.4) 可以通过重载多个构造方法,以处理不同情况下的初始化需求。

1)什么是this
this代表当前对象
在程序运行过程中,对象引用自身的情况
2)属性
如果属性与局部变量具有相同的名称
为避免混淆,应通过this.来明确区分
区分局部变量与属性
3)方法
4)构造

第三天
1引用类型数组
Dog[] ds=new Dog[4];
1)引用来表示数组元素类型的一种数据结构
我们编写的自造类的类型的数组即为引用来表示数组元素类型的一种数据结构
(自造类,String,数组)
2)数组中的元素默认初始化为null值
需要注意避免空指针异常问题
3)如何实现引用类型数组的复制
可以通过以下方式实现:

  1. 通过显式初始化的方式创建数组
    Dog[] ds=new Dog[4];
    ds[0]=new Dog(....);
    ds[1]=new Dog(....);
    ...
  2. 通过花括号初始化的方式创建数组
    Dog[] ds={
    new Dog(....),
    new Dog(....),
    ...
    };
    此外,引用类型数组支持遍历操作,但在遍历时需要确保元素不为空

2继承

  1. 什么是继承
    它是一种面向对象编程中的代码复用技术,...代码复用
  2. 什么使用继承
    它能够有效降低代码冗余,同时提升程序的可维护性和扩展性
  3. 怎么使用继承
    在类名后添加extends关键字,例如:
    public class Dog extends Pet{
    }

第四天
继承下构造方法运行

  1. 实例化子类对象
    在子类对象中,其实在构造过程中,会自动创建一个父类对象的引用。
  2. 子类对象的构造方法会在父类构造完成后执行。
  3. 所有类的父类都是Object类。
    super关键字的作用:
  4. 在编写子类构造方法时,第一行代码通常是用于调用父类构造方法的。
  5. 调用属性:通过super()调用父类的属性。
  6. 调用方法:通过super()调用父类的方法。
  7. 调用构造:通过super()调用父类的构造方法。
    super(参数):
    编写在子类构造方法中的第一行代码,用于调用父类构造方法。
    如果不使用super关键字或this关键字来调用构造方法,那么默认情况下会调用super()方法(父类无参构造)。

2方法重写
1)什么是方法重写
在子类中编写一个和父类的方法
方法名相同,参数列表相同
返回值和访问修饰符相同的方法
2)为什么使用方法重写
父类中的方法可能不能满足子类的要求
子类中不满意父类方法的编写

向上造型(3)的具体内容如下:首先,向上造型的定义是将子类对象通过引用的方式赋予权限和功能,从而实现了对父类的引用。其主要作用体现在,通过引用父类对象,子类实例实现了对其的引用。在方法调用方面,父类引用能够调用自身定义的方法,而运行的是子类重写后的方法。这种设计在一定程度上弥补了其局限性,即父类类型仅能调用和访问其自身定义的属性和方法,而无法直接访问子类的属性和方法。

  1. 访问修饰符的定义是什么?

  2. 访问修饰符

4.final关键字用于对类、方法和属性的修饰。
1)作为类的修饰,类不能被继承,因为它们不能被进一步继承。
2)作为方法的修饰,方法不能被重写,因为它们不能被修改。
3)作为属性的修饰,属性不能被修改,因为它们必须在实例化对象之前赋值,以确保属性的有效性。

4)局部变量
被final修饰的局部变量(参数)
只能被赋值一次

第六天
static关键字用于标识类的属性
属性用于标识对象的特征
通过类名调用属性,所有对象共享同一个资源
这些属性被保存在方法区中

通过类名直接调用,无需创建实例对象,静态方法在调用时不会隐式地使用this关键字。

初始化代码块用于...

抽象类
1)什么是抽象类
没有对象存在的类
2)为什么要抽象类
有些方法无法实现
3)抽象类的特征
3.1)不能实例化
3.2)可以编写抽象方法
3.3)抽象方法的数量不限
抽象方法
1)什么是抽象方法
无法具体编写方法内容的方法
2)为什么需要抽象方法
为了约束子类的方法
3)抽象方法的特征
3.1)不能有方法体
3.2)子类必须重写父类中的抽象方法
除非子类也是抽象类
3.3)抽象方法必须在抽象类中

第七天
内部类
1)成员内部类
2)匿名内部类

第8天学习内容

第九天

多态

  1. 什么多态
    同一个类继承的不同子类对象,支持对同一个方法调用做出的不同操作
  2. 为什么使用多态
    以增强程序的灵活性和可维护性
  3. 多态的实现步骤
    3.1) 定义父接口并实现基本功能
    3.2) 子类继承父接口并重定义实现方法
    3.3) 将子类实例绑定为父接口引用
    3.4) 通过父接口引用调用子类实现的具体方法

父类类型转换为子类类型

  1. 如何实现转换过程
    通过强制类型转换操作
  2. 语法
    子类类型引用父类对象
  3. 转换过程中可能出现异常
    在非强制转换的情况下,将目标类型对象
    转换为目标类型时,可能会出现异常,具体异常类型为ClassCastException

什么是‘instanceof’关键字?它用于判断一个对象是否属于一个指定的类型。在编程中,使用‘instanceof’关键字可以避免在进行类型转换操作时可能引发的异常错误。在JavaScript中,使用‘instanceof’关键字的语法结构是:<引用> instanceof <类型>。其运算结果为布尔值,返回true或false。一般在if语句的条件判断中使用该操作符,以确保代码的安全性和准确性。

垃圾回收管理机制(GC)是一种用于管理未被使用资源的机制。

垃圾回收机制的优点和不足
优点:Java程序员无需担心垃圾回收问题。
缺点:1.垃圾回收管理机制本身占用内存较大。
2.垃圾回收的时机并非立即完成。
3.垃圾回收机制仅能回收Java程序内部产生的垃圾,而其他媒介中的垃圾需手动回收。

4)判定垃圾的标准及原理
4.1)判断一个对象或资源是否为垃圾的规则多种多样
4.2)其中一种规则是引用计数法;在内存中统计每个对象被引用的次数;如果某个对象的引用次数为零,那么就可以认为它是垃圾
4.3)标记一个对象为垃圾的方法:将引用字段设为null;

5)最终化方法
5.1)这个方法是为Object类编写的
5.2)该机制将在回收该对象之前调用这个方法

6)System.gc();
这个方法能通知
垃圾回收管理机制尽快回收程序中的垃圾

全部评论 (0)

还没有任何评论哟~