按关键词阅读:

文章图片

文章图片

文章图片
最近老是有小伙伴问类和Object相关的问题 , 感觉还是很多人对此不是很明白 , 那我们今天就干掉这两个怪物 。
类介绍
Java 程序是由若干个类组成的 , 类也是面向对象编程思想的具体实现 。
以下为类的定义:
关键字import的三种用法单类型导入
当我们需要使用不同包下的类时 , 就需要使用 import 导入包或类 , 这个时候才能正常使用 。 例如 , 我们要使用java.util下的 ArrayList 就必须使用 import java.util.ArrayList , 代码如下:
这个只是表象 , 其实也是一个一个的导入的 , 只是在代码层面看起来是一次性全部导入了 。
静态导入
import 还可以导入静态方法和静态域的功能 , 比如以下代码:
以上代码也可以顺利地执行 , 这也是 import 好玩的一个地方 。
构造方法构造方法也叫构造器或构造函数 , 它的作用是类在进行初始化的时候会调用对应的构造方法 , 比如以下代码:
构造方法五大原则
- 构造方法必须与类同名;
- 构造方法的参数可以没有或者有多个;
- 构造方法不能定义返回值(默认返回类型就是本类类型);
- 每个类可以有一个或多个构造方法;
- 构造方法总是伴随着 new 操作一起使用 。
ObjectObject 类是 Java 中的一个特殊类 , 它是所有类的父类 , Java 中的类都直接或间接的继承自 Object 类 。
Object 类的常用方法如下:
- equals():对比两个对象是否相同
- getClass():返回一个对象的运行时间
- hashCode():返回该对象的哈希码值
- toString():返回该对象的字符串描述
- 【Java|都说类和object是java中的两大怪物,今天就来消灭它们】wait():使当前的线程等待
- notify():唤醒在此对象监视器上等待的单个线程
- notifyAll():唤醒在此对象监视器上等待的所有线程
- clone():克隆一个新对象
继承Java 中只支持单继承:即一个子类只能继承两个父类 , 而一个父类可以被多个子类继承 。
每个人都只能有一个亲生父亲 , 一个父亲是可以有多个儿子的 。
用法:使用 extends 关键字来实现类的继承 , 示例代码如下:
以上程序执行结果:hello
继承的注意点
- 单一继承性 。 (在Java中是不支持多继承的 , 通俗的说子类只能有一个父类 , 而父类可以有很多子类 。 )
- 支持多层继承 。 (继承可以一直传下去 , 子类有父类 , 父类又有父类...)
- 如果父类成员使用private修饰那么子类不能被继承 。 (private只是对本类有效)
- 如果一个子类继承了父类的属性和方法还可以有自己特有的属性和方法 。 (不光有父类的属性(可继承的)和方法(可继承的) , 也有自己独有的属性和方法 。 )
- 当子类和父类的成员变量重名的时候子类优先 。 (就近原则)
- 将公共的变量或者方法提取到超类中;
- 除非所有的方法都有继承的意义 , 否则不要使用继承;
- 在方法覆盖时不要改变原有方法的预期行为 。
- 一般在写代码的时候发现代码中存在重复代码需要向上抽取考虑继承 。
- 当某个类的设计非常复杂的时候可以考虑继承
- 代码的可重用性 。
- 使用继承可以轻松的定义子类 。
- 父类的属性和方法可以用于子类中(非private修饰) 。分页标题#e#
- 设计应用程序变得更加简单 。
比如:模板方法模式 , 就是采用继承 , 子类自己去实现自己的业务逻辑 。
来源:(田维常)
【】网址:/a/2021/0129/kd656942.html
标题:Java|都说类和object是java中的两大怪物,今天就来消灭它们