java继承与toString方法

Posted 垚垚是小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java继承与toString方法相关的知识,希望对你有一定的参考价值。

继承extends

什么是继承,有什么用

	继承:在现实世界当中也是存在的,例如:父亲很有钱,儿子不用努力也很有钱。

继承的作用:

		基本作用:子类继承父类,代码可以得到复用。(这个不是重要的作用,是基本作用。)
		主要(重要)作用:因为有了继承关系,才有了后期的方法覆盖和多态机制。

继承的相关特性

	① B类继承A类,则称A类为超类(superclass)、父类、基类,
	B类则称为子类(subclass)、派生类、扩展类。
		class A{}
		class B extends A{}
		我们平时聊天说的比较多的是:父类和子类。
		superclass 父类
		subclass 子类

	② java 中的继承只支持单继承,不支持多继承,C++中支持多继承,
	这也是 java 体现简单性的一点,换句话说,java 中不允许这样写代码:
		class B extends A,C{ } 这是错误的。

	③ 虽然 java 中不支持多继承,但有的时候会产生间接继承的效果,
	例如:class C extends B,class B extends A,也就是说,C 直接继承 B,
	其实 C 还间接继承 A。

	④ java 中规定,**子类继承父类,除构造方法不能继承之外,剩下都可以继承。
	但是私有的属性无法在子类中直接访问**。(父类中private修饰的不能在子类中
	直接访问。可以通过间接的手段来访问。)

	⑤ java 中的类没有显示的继承任何类,则默认继承 Object类,Object类是 
	java 语言提供的根类(老祖宗类),也就是说,一个对象与生俱来就有 
	Object类型中所有的特征。

	⑥ 继承也存在一些缺点,例如:CreditAccount 类继承 Account 类会导致它
	们之间的耦合度非常高,Account 类发生改变之后会马上影响到 CreditAccount 类

测试

:子类继承父类之后,能使用子类对象调用父类方法吗?
可以,因为子类继承了父类之后,这个方法就属于子类了。
当然可以使用子类对象来调用。

在实际开发中,满足什么条件的时候,我可以使用继承呢?

	凡是采用“is a”能描述的,都可以继承。
	例如:
		Cat is a Animal:猫是一个动物
		Dog is a Animal:狗是一个动物
		CreditAccount is a Account:信用卡账户是一个银行账户
		....
	
	假设以后的开发中有一个A类,有一个B类,A类和B类确实也有重复的代码,
	那么他们两个之间就可以继承吗?不一定,还是要看一看它们之间是否能够
	使用is a来描述。

		class Customer{
			String name; // 名字
			// setter and getter
		}

		class Product{
			String name; // 名字
			// setter and getter
		}

		class Product extends Customer{
		
		}

		以上的继承就属于很失败的。因为:Product is a Customer,是有违伦理的。

任何一个类,没有显示继承任何类,默认继承Object,那么Object类当中有 哪些方法呢?老祖宗为我们提供了哪些方法?

	以后慢慢的大家一定要适应看JDK的源代码(多看看牛人写的程序自己才会变成牛人。)
	先模仿后超越。
	java为什么比较好学呢?
		是因为Java内置了一套庞大的类库,程序员不需要从0开始写代码,程序员可以
		基于这套庞大的类库进行“二次”开发。(开发速度较快,因为JDK内置的这套库
		实现了很多基础的功能。)

		例如:String是SUN编写的字符串类、System是SUN编写的系统类。
		这些类都可以拿来直接使用。
	
	JDK源代码在什么位置?
		C:\\Program Files\\Java\\jdk-13.0.2\\lib\\src.zip
	
	你现在能看懂以下代码了吗?
		System.out.println("Hello World!");
		System.out 中,out后面没有小括号,说明out是变量名。
		另外System是一个类名,直接使用类名System.out,说明out是一个静态变量。
		System.out 返回一个对象,然后采用“对象.”的方式访问println()方法。
	
	我们研究了一下Object类当中有很多方法,大部分看不懂,其中有一个叫做toString()
	的,我们进行了测试,发现:
		System.out.println(引用);
		当直接输出一个“引用”的时候,println()方法会先自动调用“引用.toString()”,然后
		输出toString()方法的执行结果。

java语言中子类继承父类都继哪些数据呢?

Ⅰ私有的不支持继承
Ⅱ构造方法不支持继承
Ⅲ其他数据都可以被继承
6:虽然java语句当中只支持单继承,但是一个类也可以间接继承其他类
7:java语言中一个类没有显示继承任何类,改类默认继承javase库当中提供的java。lang。object类。

以上是关于java继承与toString方法的主要内容,如果未能解决你的问题,请参考以下文章

从片段中获取输入数据

JAVA 面向对象补充[toString方法和equals方法]

Java:验证在类继承过程中equals() hashcode()toString()方法的使用

JAVA基础复习一 Object类的toString()方法剖析

Java-接口继承与多态

java 代码片段