栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

初学java面向对象编程三大特性之——继承

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初学java面向对象编程三大特性之——继承

面向对象编程三大特性之——继承
  • 一、继承的概念和实现
  • 二、super关键字
    • 1.super关键字的特点
    • 2.代码实现
  • 三、方法重写-Override
    • 1.什么是方法重写
    • 2.方法重写注意点
    • 3.代码实现
  • 四、Object类常见方法

一、继承的概念和实现

生活中,继承的概念随处可见
继承需要符合的关系:is-a;父类更通用更抽象、子类更特殊更具体

·继承背后的思想就是 基于已存在的类来构建新类
·当从已存在类继承时,就重用了它的方法和属性,还可以添加
新的方法和属性来定制新类以应对需求
·约定:从其他类导出的类叫做子类。
被导出的类叫做父类
·在java中,除了Object类之外,所有类都是子类,都只有
唯一的父类
·在java语言中,用extends关键字来表示一个类继承了另外一个

二、super关键字 1.super关键字的特点

super和this关键字的特点类似:super代表的是父类对象的引用
·当子父类的成员出现同名时,可以通过super来区分
·子类的构造方法中,通过super关键字调用父类的构造方法

2.代码实现
package jichneg.su.www;

class Preson {
	String name;
	String gender;

	public Preson(String name, String gender) {
		this.name = name;
		this.gender = gender;
		System.out.println("父类的构造方法");
	}

	public void eat() {
		System.out.println("人喝水");
	}

	public void eat1() {
		System.out.println();
	}
}

class Student extends Preson {
	public Student(String name, String gender) {
		super(name, gender); // 子类构造方法中,通过super关键字调用父类的构造方法
								// 既然是继承当然要知道父类的具体(构造方法)
		System.out.println("子类的构造方法");
	}

	int eag;
	String calss;
	public void eat() {
		super.eat();       //当子类和父类的成员出现同名是用super关键字区分
		System.out.println("小孩喝水");
	}

}

public class Demo11 {
	public static void main(String[] args) {
		// Preson sa=new Preson("张三","1002");
		Student so = new Student("小猫", "1001");
		so.eat();

	}
}

三、方法重写-Override 1.什么是方法重写

方法重写是指子类可以根据需要对从父类继承来的方法进行改写,
是多态机制的前奏

2.方法重写注意点

·重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值
·重写方法不能比被重写方法有更严格的访问权限
·父类中的私有方法,不能被重写
·在子类重写的方法中继续调用父类被重写的方法可以通过super.函数名获取

3.代码实现
package jichneg.su.www;

class Preson {
	String name;
	private String gender;

	protected void eat() {  
		System.out.println("人喝水");
	}

	public void eat1() {
		System.out.println();
	}
}
//·重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值
//·重写方法不能比被重写方法有更严格的访问权限
//·父类中的私有方法,不能被重写
//·在子类重写的方法中继续调用父类被重写的方法可以通过super.函数名获取

class Student extends Preson {
	int eag;
	String calss;
	String gender;
	public void eat(){   //子类重写方法的访问修饰符范围应该更大
		super.eat();
		System.out.println("小孩子喝水");
	}
}

public class Demo11 {
	public static void main(String[] args) {
		Student so=new Student();
		so.eat();
	// so.gende="其他";
			
	}
}

四、Object类常见方法

·java中,所有类都直接或间接继承自java.lang.Object类
可以说Object是java中所有类的祖先即根类
·java中任何类都继承了Object类中的方法,主要有
toString()
equals()
hashcode()
clone()
getClass()
finalize()
String toString()
·返回该对象的字符串描述信息。默认输出的格式:
类名[字段值,字段值…]
·只要对象与一个字符串通过“+”连接,系统就会自动调用toString获得对象的
字符串描述符
·常被改写:可以根据用户的需求对其进行重写
Boolean equals()
·Object类原始功能是实现判断两个对象是否具有相同的引用,要求判断两个对象
状态的相等性。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/592121.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号