欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

day 7 继承等

程序员文章站 2024-02-27 19:34:57
...

day7

类的继承
java只支持单继承,不允许多重继承
一个子类只能有一个父类
一个父类可以派生出多个子类

Q1:day 7 继承等

public class TestCylinder {
	double radius;
	
	public void Circle(double radius) {
		radius = 1; 
		this.radius = radius;
	}
	
	public double getRadius() {
		return radius;
	}

	public void setRadius(double radius) {
		this.radius = radius;
	}
	public double findArea() {
		
		return  3.14 * this.radius * this.radius;
	}

	public static void main(String[] args) {
		
		TestCylinder tc = new TestCylinder();
		
		tc.setRadius(1);
		System.out.println(tc.getRadius());
		System.out.println(tc.findArea());
		
	}
	
}
public class Cylinder extends TestCylinder{
	double length;
	
	public Cylinder() {
		length = 1;
	}

	public double getLength() {
		return length;
	}

	public void setLength(double length) {
		this.length = length;
	}
	
	public double findVolume() {
		return 3.14 * this.radius * this.radius * this.length;
	}
	
	public static void main(String[] args) {
		
		Cylinder c = new Cylinder();
		
		c.setLength(7);
		c.setLength(6);
		System.out.println(c.findVolume());
	}
}

试了一下是可以进行计算的,但是老师没有讲解,不知道是否正确.

方法的重写
在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重置,覆盖.
在程序执行时,子类的方法将覆盖父类的方法
1.重写方法必须和被重写方法具有相同的方法名称,参数列表和返回值类型.
//子类重写父类的方法,只是重写编写方法体(大括号内)的代码,如果父类的方法是public的,子类重写就不能使用缺省以下的
2.重写方法不能使用比被重写方法更严格的访问权限.
3.重写和被重写的方法须同时为static的,或同时为非static的.
4.子类方法抛出的宜昌不能大于父类被重写方法的异常.

在eclipse中,在子类下alt+/会呼出方法的重写
day 7 继承等
day 7 继承等

如果子类和父类在同一个包下,那么对于父类的成员修饰符只要不是私有的private,那就可以使用.

关键词 super
super可以支付使用父类的成员变量,也可以追溯使用父类的成员方法
可以使用super向上追溯父类的父类,当然也可以一直向上追溯,如果有那么多个层级的父类的话.
在子类中,调用父类的构造器,必须放在构造器首行

多态
1.需要存在继承或者实现关系
2.要有覆盖操作
成员方法:
1,编译时,要查看引用变量所属的类中是否有所调用的方法.
2.运行时,调用实际对象所属的类中的重写方法.
成员变量:
不具备多态性,只看引用变量所属的类.

instancof操作符

对象 instanceof 类
检测对象是否是类的对象,返回值为布尔值
//Person 父类,Student 子类
day 7 继承等

Object 类
Object类是所有java类的父类,有成为基类

public class Person{
}
等价于
public class Person extends Object {
}

相关标签: day day study