我的java学习第四天

Day4

1.继承

代码复用,提高开发效率和程序的扩展性。 语法:class A{} class B extends A{} 除了构造方法不能被继承其他都可以继承过来 但是,私有化成员不能直接通过子类对象直接访问 但是可以通过继承过来的公共方法间接访问

2.方法复写

    @Override//注解,编译期起作用,校验代码
• public void eat() {
•     System.out.println("吃猪");}

3.super

在子类中的某一个方法中需要去调用父类中被覆盖的方法, ​ 此时得使用 super 关键字。

4.抽象方法

创建类 public abstract class xxx 抽象方法 修饰符 abstract 返回值类型 方法名(...);

5.Object类

类 Object 是类层次结构的根类,每个类都使用 Object 作为超类。

  1. int hashCode() 返回对象的哈希码值。

    1. boolean equals(Object obj) 根据实际业务,判断两个对象是 不是“相等”,不是直接判断==判断当前对象和obj参数是否"相等", 要比较什么类型的对象就用重写其对应类型的equals方

6.toString方法

toString() 方法用于返回以一个字符串表示的 Number 对象值。

如果方法使用了原生的数据类型作为参数,返回原生数据类型的 String 对象值。

如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式。

String toString()
static String toString(int i)

7.== 和 equals区别

1.== :

比较基本数据类型: 比较的就是值是否相等;

比较引用数据类型: 比较的是对象的地址是否相等

2.equals 只能用于引用类型 根据实际业务比较两个对象是否相等。默认是不重写是==比较。 在实际开发中,我们一般比较对象都是通过对象的属性值进行比较 (一般比较对象的地址没有多大用处),所以我们会覆写Object中的 此方法,把自己的判断机制写在方法里面;

8.Override与Overload的区别

Overload是重载的意思,表示在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。

Override是覆盖的意思,也就是重写,它与返回值类型无关,只看参数列表。 overload用于增加程序的可 读性 (做法不同,但是做的同一事情)。

override用于提供其超级类已经提供的方法的特定实现。

overload 在相同的类范围内内执行。

override发生在两类具有继承(继承)的关系。

overload参数必须不同。 override参数必须相同。

overload 静态多态,调用的函数在编译时被选中。

override 是运行时多态性的。

overload中可以相同或不同。 但你必须改变参数。 override必须是相同的或协变的。

上一篇:韩顺平Java08(方法重载)


下一篇:【Java笔记】关于Override和Overload(重写与重载)