代码编织梦想

继承(extends),多态,抽象类与接口

一,继承

1,Java语言每个类只能继承一个父类

2,父类 和普通类写法相同

public class 父类类名{

}

3,子类

public  class  子类类型 extends  父类类名{

}

例题7.1:

 

 

 

例题7.2:

public class telephone {//电话类
	String button = "button:0~9";//成员属性,10个按键
	void call() {//拨打电话功能
		System.out.println("开始拨打电话");
	}
}
public class mobile extends telephone {//手机类继承电话类
	String screen = "screen:液晶屏";//成员属性,液晶屏幕
	
}
public class demo2 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		mobile motto = new mobile();
		System.out.println(motto.button);//子类调用父类属性
		System.out.print(motto.screen);//子类调用父类没有的属性
		motto.call();//子类调用父类方法
	}

}

4,所有类的构造方法第一行都有一个隐藏的" super();"

作用是在执行该构造方法之前调用其父类的构造方法。

二,ob ject 类

1,getClass()的方法:是Object类定义的方法,它会返回对象执行时的Class实例

getClass().getname();

2,toString()方法:将一个对象返回为字符串形式,它会返回一个String实例。

3,方法的重写:

返回参数相同  方法名相同  传入参数相同  方法体

例题7.3:

 4,equals方法:有两种比较对象的方式,分别为“==”运算符与equals()方法。

例题7.4代码与结果:

public class people {
	int id;//身份证号
	String name;//名字
	
	public people(int id,String name) {
		this.id = id;
		this.name = name;
		
	}
	public boolean equals(Object obj) {//重写object类的equals()方法
		if(this==obj)//如果参数与本类是同一个对象
			return true;
		if(obj==null)//如果参数是null
			return false;
		if(getClass()!=obj.getClass())//如果参数与本类类型不同
			return false;
		people other = (people)obj;//将参数强转成本类对象
		if(id!=other.id)//如果两者的身份证号不相等
			return false;
		return true;
	}
		
	public String toString() {//重写object类的toString()方法
		return name;//只输出名字
	}
	public static void main(String[]age) {
		people p1 = new people(220,"tom");
		people p2 = new people(220,"汤姆");
		people p3 = new people(330,"张三");
		Object o = new Object();
		
		System.out.println(p1+"与"+p2+"是否为同一个人?");
		System.out.println("equals()方法的结果:"+p1.equals(p2));
		System.out.println("==运算符的结果:"+(p1==p2));
		
		System.out.println();
		System.out.println(p1+"与"+p3+"是否为同一个人?");
		System.out.println(p1.equals(p3));
		
		System.out.println(p1+"与"+o+"是否为同一个人?");
		System.out.println(p1.equals(o));
	}
}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2302_76534780/article/details/129836011

软件工程第七章知识点总结-爱代码爱编程

第七章 实现 1.编码的定义:所谓编码就是把软件设计结果翻译成用某种程序设计语言熟书写的程序 2.选择程序设计语言 (1)公司结束积累和程序员的知识:相关项目、技术、管理经验、程序员的个人技术特长 (2)软件可移植性和兼容性:目标平台、平台兼容 (3)软件的应用领域:科学计算:Fortran,C,Matlab     移动应用:Java,Swif

spring boot框架都有哪些优点和缺点?-爱代码爱编程

相较于传统的Spring框架,Spring Boot 框架具有以下优点。 1.可快速构建独立的 Spring 应用 Spring Boot是一个依靠大量注解实现自动化配置的全新框架。在构建Spring应用时,我们只需要添加相应的场景依赖,Spring Boot就会根据添加的场景依赖自动进行配置,在无须额外手动添加配置的情况下快速构建出一个独立的Sp

leetcode刷题记录-爱代码爱编程

1630. 等差子数组 1630. 等差子数组 先直接暴力,过了再说 public List<Boolean> checkArithmeticSubarrays(int[] nums, int[] l, i

18-爱代码爱编程

题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据保证整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 自定义评测: 评测系统的输入如下(你设计的程序不适用此输入):