当前位置: 首页 > news >正文

设计网站大全铲鼠湖南岚鸿相信房地产销售造林种养殖加工承揽项目开发等招商广告

设计网站大全铲鼠湖南岚鸿相信,房地产销售造林种养殖加工承揽项目开发等招商广告,wap网站 劣势,免费简历模板的网站1.继承 1.1 定义 让类与类之间产生子父类关系,有了继承性之后,子类就获取到了父类中声明的所有属性和方法。 1.2 优点 继承的出现减少了代码冗余,提高了代码的复用性。继承的出现,更有利于功能的扩展。继承的出现让类与类之间…

1.继承

1.1 定义

让类与类之间产生子父类关系,有了继承性之后,子类就获取到了父类中声明的所有属性和方法。

1.2 优点

  1. 继承的出现减少了代码冗余,提高了代码的复用性。
  2. 继承的出现,更有利于功能的扩展。
  3. 继承的出现让类与类之间产生is-a关系,为多态的使用提供了前提。
  4. 继承描述事物之间的所属关系,可见父类更通用、更一般,子类更具体。

1.3 继承特点

  1. Java只支持单继承(针对于类)(一个父类可以声明多个子类,但是一个子类只能有一个父类),不支持多继承
  2. Java支持多层继承,可以划分为直接父类和间接父类。

1.4 注意事项

  1. 子类只能继承父类的所有非私有成员。
  2. 子类不能继承父类的构造方法,但可以通过super关键字访问父类构造方法。

1.5 默认的父类

Java中声明的类如果没有显式声明其父类时,则默认继承于java.lang.Object类

2. super关键字

2.1 为什么需要super

  • super:代表对当前父类的引用
    在子类中需要调用父类中被重写的方法以及在子类中区分子类和父类同名的属性。

2.2 super可以调用的结构

2.2.1 属性和方法

子类继承父类以后,就可以在子类的方法或构造器中,调用父类中声明的属性或方法(满足封装性的前提下)。调用时,需要使用"super."的结构,表示调用父类的属性或方法。子类中重写了父类的方法或子父类中出现了同名的属性时,则必须使用"super."的声明,显式地调用父类被重写的方法或父类中声明的同名的属性。

2.2.2 构造器

  1. 子类继承父类时,不会继承父类的构造器,只能通过"super(形参列表)"的方式调用父类指定的构造器。
  2. "super(形参列表)"必须声明在构造器的首行。
  3. 在构造器的首行,super和this关键字只可以出现一个。
  4. 如果在子类构造器的首行既没有显式调用"this(形参列表)“,也没有显式调用"super(形参列表)”,则子类此构造器默认调用"super()",即调用父类中空参的构造器。
  5. 结合3和4可以得到结论:子类的任何一个构造器中,要么会调用本类中重载的构造器,要么会调用父类的构造器,只能是这两种情况之一。
  6. 由5可以得到结论:一个类中声明有n个构造器,最多有n-1个构造器中使用了"this(形参列表)“,则剩下的那一个一定使用"super(形参列表)”。

区别

  1. this既可以调用本类成员变量,也可以调用父类成员变量,而super只可以调用父类的成员变量
  2. this调用本类构造方法,super调用父类构造方法
  3. this既可以调用本类成员方法,也可以调用父类成员方法,而super只可以调用父类的成员方法

练习题

public class demo34 {public static void main(String[] args){Cat c1 = new Cat("白色",4);System.out.println(c1.getColor() + " " + c1.getLeg());c1.eat();c1.catMouse();System.out.println("-----------------------");Dog d1 = new Dog("黑色",4);System.out.println(d1.getColor() + " " + d1.getLeg());d1.eat();d1.lookHome();}
}/*
猫狗练习
属性:毛的颜色,腿的个数
行为:吃饭
猫特有行为:抓老鼠
狗特有行为:看家*/class Animals{private String color;private int leg;public Animals(){}public Animals(String color,int leg){this.color = color;this.leg = leg;}public void setColor(String color) {this.color = color;}public String getColor() {return color;}public void setLeg(int leg) {this.leg = leg;}public int getLeg() {return leg;}public void eat(){System.out.println("吃饭");}
}class Cat extends Animals{public Cat(){}public Cat(String color,int leg){super(color, leg);}public void eat(){System.out.println("猫吃鱼");}public void catMouse(){System.out.println("抓老鼠");}
}class Dog extends Animals{public Dog(){}public Dog(String color,int leg){super(color, leg);}public void eat(){System.out.println("狗吃肉");}public void lookHome(){System.out.println("看家");}
}

3.方法的重写(overwrite/override)

3.1 为什么需要方法的重写

子类在继承父类以后,就获得了父类中声明的所有的方法。但是,父类中的方法可能不太适用于子类。即子类需要对父类继承过来的方法进行覆盖、覆写的操作(定义)。

3.2 方法重写应遵循的规则

  1. 父类被重写的方法与子类重写的方法的方法名和形参列表必须相同。
  2. 子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符。注意:子类不能重写父类中声明为private权限修饰符的方法。
  3. 父类被重写的方法的返回值类型是void,则子类重写的方法的返回值类型必须是void。
  4. 父类被重写的方法的返回值类型是基本数据类型,则子类重写的方法的返回值类型必须与被重写的方法的返回值类型相同。
  5. 父类被重写的方法的返回值类型是引用数据类型(),则子类重写的方法的返回值类型可以与被重写的方法的返回值类型相同或是被重写的方法的返回值类型的子类
  6. 子类重写的方法抛出的异常类型可以与父类被重写的方法抛出的异常类型相同,或是父类被重写的方法抛出的异常类型的子类。
http://www.yayakq.cn/news/684454/

相关文章:

  • 建设公司网站模板下载杭州专业网站排名优化
  • 做热点图现在用什么网站东莞建设银行
  • 甜点网站要怎么做网站网格设计
  • qq空间刷赞网站推广装饰画
  • 北京东城网站建设公司杭州物流公司
  • 常见的站内推广方式有哪几种北京网站排名推广
  • 有人拉我做彩票网站游戏推广是干什么的
  • 抚顺市网站建设做flash网站
  • 邵东做网站杭州西湖区抖音seo方案
  • 网站建设经费预算包括哪些网站制作的困难和解决方案
  • 网站空间 更换网站域名分类
  • 网站开发公司哪里济南兴田德润实惠吗设计装修
  • 甘肃建设厅网站常州建设企业网站
  • 农村建设设计网站首页wordpress idc
  • 如何创建个人的网站最新网游网络游戏新开服
  • 网站建站时间查询十大免费行情软件入口下载
  • 开源 网站源代码网站制作多少费用
  • 上海网站外包建设wordpress建立ftp
  • 律师怎样做网站wordpress html插件
  • 门户网站建设情况调研报告如何制作自己的网站二维码
  • 广东住房和建设局网站官网上海公司注册一网通办官网
  • 做市场浏览什么网站如何把网站扒下来
  • 做网站公司-深圳信科wordpress后台登陆不上
  • 专业家电维修网站建设建设网上商城网站
  • 怎么搭建购物网站腾讯云学生怎么做网站的
  • 门户网站建设模板下载视频.wordpress添加ssl
  • 网站建设数据库实训体会开服表网站开发
  • 大型公司网站建设目标宜昌seo
  • 蔬菜派送网站怎么做长沙自助建站哪家好
  • 同一个域名两个网站厦门450元网站建设公司