Java中的继承

1、(1)java中只有单继承,只有一个父类。
(2)继承的好处
子类拥有父类的所有属性和方法(但是父类的private的属性和方法是不可以继承的)
实现在代码的复用
class 子类 entends 父类
2、java中方法的重写
定义:如果子类对于继承父类的方法不满意,是可以重写从父类那里继承来的方法的。当调用方法时候会优先调用子类的方法。
注意:返回值类型,方法名,参数类型以及个数都要与父类继承的方法相同,才叫方法的重写。(和方法重载不一样。重载是方法名,返回值一样,但是参数类型,个数或者顺序不一样)
3、继承的初始化顺序
当创建一个子类对象的时候
(1)创建父类的属性进行初始化
(2)父类的构造方法
(3)创建子类的属性进行初始化
(4)子类的构造方法
4、final关键字
(1)修饰类,则这个类不可以被继承
(2)修饰方法,则这个方法不允许被覆盖(重写)
(3)修饰属性:那么该类的属性就不会被初始化,(类的初始化属性必须有值。或在构造方法中赋值,但只能选其一)
(4)修饰变量,则该变量只能被赋值一次,即变为承诺常量。
5、super关键字
定义:在对象的内部使用,可代表父类对象。例如。调用父类对象的属性就是super.age。访问父类对象的方法:super.eat()
注意:
(1)子类的构造过程中必须调用父类的构造方法
(2)如果子类的构造方法没有显示调用父类的构造方法,则系统默认调用父类的无参构造方法
(3)如果显示的调用构造方法,必须在子类的构造方法的第一行
(4)如果子类构造方法中既没有显示调用弗雷德构造方法,而父类有没有无参的构造方法,则编译出错。
6、Object类
(1)定义:Object类是所有类的父类,如果一个类没有使用extends关键字明确的标识继承另一个类,那么这个类默认继承Object类。
所以,Object中的方法适用于所有的子类
Object类中重要的方法:
(1)toString()
在java中如果输出一个对象例如:
System.out.println(dog);
那么输出的是这个对象在内存中的地址。
如果想要输出对象的属性值,那么就重写toString方法。eclipse可以自己重写toString方法,就会根据对象的属性生成一个toString方法。然后在写System.out.println(dog);就会输出对象名和属性值。
7、Object类第二个重要的方法equals();
(1)在java中有两种相等。第一种是判断两个对象是不是指向同一个地址区域(也就是说这两个对象是不是同一个对象),这就直接对应equals()函数。
例如:

Dog dog1 =new Dog();
Dog dog2 =new Dog();
dog1.equals(dog2)
//结果是false,因为是创建了两个新的对象,那么就是开辟了两个不同的内部,所以指向不同的地址,所以一定是不同的

dog1==dog2//同样地,利用“==”也是比较是否是指向同一片区域,所以结果也是不同的
注意:即使给他们的属性都赋值一样的话,结果仍然是不同的。

(2)第二种相等的意思就是这两个对象的属性值都一样,这就要用到equals()方法的重写。
equals()方法的重写如下:

public boolean equals(Object obj)
{
   if(this==obj)//首先判断是不是指向同一片区域,同一个地址对象,如果是一个的话那指定是相同的。
       return true;
   if(obj==null)//如果其中一个是空的话,那么一定是不同的
      return false;
   if(getClass()!=obj.getClass())//getClass()的方法是获取“类对象”。“类对象”是描述这个类的代码信息,属性名,方法名,更关注代码信息。而“类的对象”更关注的是数据信息。所以“类对象”是获得类型,若是两个类连类型都不同,那指定不同了
      return false;
   Dog other=(Dog)obj;//两个对象类型相同时候,再把要比较的对象转换成原对象的类型
   if(age!=other.age) //类型相同,在进行属性比较。
      return false;
   retuen true;
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值