第七章代码

例题1

package 第七章;

class Parent {//父类
	public Parent() {
		//父类的构造方法
		System.out.println("调用父类构造方法");
	}
}

class Child extends Parent {//child类继承parent类
	public Child() {
		//子类的构造方法
		System.out.println("调用子类构造方法");
	}
}

public class 例题1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Child();
		//实例化对象
	}

}

例题2

package 第七章;

class Telephone5 {// 电话类
	String button = "button = 0~9"; // 成员属性,10个按键

//创建一个拨打电话功能方法
	 void call() {
		 System.out.println("开始拨打电话");
	}
}
//定义一个手机类继承电话类
class Mobile8 extends Telephone5{
	//定义成员方法
	String screen = "screen:液晶显示屏";
}
public class 例题2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//实例化子类对象
		Mobile8 a = new Mobile8();
		//输出子类调用父类成员变量
		System.out.println(a.button);
		//输出子类调用自己的成员变量
		System.out.println(a.screen);
		//子类调用父类方法
		a.call();
	}

}

例题3

package 第七章;
//定义类
public class Student {
	String name;	//成员变量,名字,年龄
	int age;
	
	public Student(String name, int age) {		//构造方法
		this.name = name;
		this.age = age;
	}
	//重写toString方法
	public String toString() {
		return"我叫" + name + ",今年" +age + "岁。";
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//第一次给构造方法赋值
		Student s1 = new Student("张三", 16);
		//输出s1
		System.out.println(s1);
		//第二次给构造方法赋值
		Student s2 = new Student("里斯", 19);
		System.out.println(s2);
	}

}

例题4

package 第七章;

public class 例题4 {
	int id;//身份证号
	String name;//名字
	//定义有参构造方法
	public 例题4(int id, String name) {
		this.id = id;
		this.name = name;
	}
	//重写Object类的equals()方法
	public boolean equals(Object obj) {
		if(this == obj)
			return true;
		if(obj == null)
			return false;
		if(getClass() != obj.getClass()) 
			return false;
		例题4 other = (例题4)obj;
		if(id != other.id)
			return false;
		return true;
	}
	//重新Object类的toString()方法
	public String toString() {
		return name;	//只返回名字
	}
	//主方法
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//实例化对象并给构造方法赋值
		例题4 p1 = new 例题4(220, "tom");
		例题4 p2 = new 例题4(220, "汤姆");
		例题4 p3 = new 例题4(220, "张三");
		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.print(p1 +"与" + p3 +"是否为同一人?");
		System.out.println(p1.equals(p3));
	}

}

例题5

package 第七章;
//向上转型,自动类型转换
//先创建一个父类
class People{
	
}
//再创建一个子类继承父类
class Teacher extends People{
	
}
public class 例题5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		People tom = new Teacher();
		//实例化对象,把子类new出来对象赋值给父类tom,老师tom是人
	}

}

例题6

package 第七章;
//强制类型转换,向下转型
//创建父类鸟类
class Bird{
	
}
//创建子类鸽子类
class Pigeon extends Bird{
	
}
public class 例题6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Bird bird = new Pigeon();
		//实例化对象,向上转型,鸽子是一只鸟
		Pigeon pigeon = (Pigeon)new Bird();
		//强制类型转换,实例化对象,这只鸟是一只鸽子
	}

}

例题7

package 第七章;
	class Quadrangle{		//创建四边形类
		
	}
	class Square extends Quadrangle{		//继承四边形类的正方形
		
	}
	class Circular{			//创建圆型类
		
	}
public class 例题7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Quadrangle q = new Quadrangle();	//实例化四边形对象
		Square s = new Square();			//实例化正方形对象
		System.out.println(q instanceof Square);	//判断四边形对象是否为正方形的子类
		System.out.println(s instanceof Quadrangle);	//判断正方形对象是否为 四边形子类
		//System.out.println(q instanceof Child);			//判断四边形对象是否为圆形子类
	}

}

例题8、9

package 第七章;
//方法重载
public class 例题8 {
	//区别下列发方法
	//写第一个方法
	public static int add(int a, int b) {
		return a + b;
	}
	//写与第一个方法相同,参数类型不同的方法
	public static double add(double a,double b) {
		return a + b;
	}
	//写与第一个方法相同,参数个数不同的方法
	public static int add(int a) {
		return a;
	}
	//写与第一个方法相同,两种参数的方法
	public static int add(int a,double b) {
		return a;
	}
	//写与第四个方法相同,两种参数类型顺序不同的方法
	public static int add(double a,int b) {
		return b;
	}
	//不定长参数方法
	public static int add(int...a) {
		int s = 0;//累加器
		for(int i = 0;i<a.length;i++) {//根据参数个数做循环操作
			s+=a[i];//将参数累加存储
		}
		return s;//返回累加器,就是将计算结果返回
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//调用方法,输出返回值
		System.out.println("调用add(int,int)方法," + add(1,2));
		System.out.println("调用add(double,double)方法," + add(2.1,3.3));
		System.out.println("调用add(int)方法," + add(1));
		System.out.println("调用add(int,double)方法," + add(1,8.0));
		System.out.println("调用add(double,int)方法," + add(5.0,8));
		
		
		//调用不定长参数方法,输出返回值
		System.out.println("调用不定长参数方法:"+add(1,2,3,4,5,6,7,8,9));
		System.out.println("调用不定长参数方法:"+add(1));

	}

}

例题10

package 第七章;

public class 例题10 {
//声明静态的常量PI
	static final double PI = 3.1415926;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//输出静态常量PI
		System.out.println("圆周率的值为:" + PI);
		//shu'chu
		System.out.println("半径为3的圆的周长为:" + (2 * 3 *PI));
		//尝试修改PI
		//PI = 3.1415927;
	}

}

例题11

例题12

package 第七章;
//定义图形类
class Shape1{
	
}
//定义正方形类继承图形类
class Squart5 extends Shape1{
	
}
//定义圆形类继承图形类
class Circular1 extends Shape1{
	
}

public class 例题12 {
	//定义一个静态方法
	public static void draw(Shape1 s) {
		//判断s是否为正方形子类
		if(s instanceof Squart5) {
			//是的化输出字符串
			System.out.println("绘制正方形");
		}
		//判断是否为圆形的子类
		else if(s instanceof Circular1) {
			//是的化输出字符串
			System.out.println("绘制圆形");
		}
		else {
			//否则输出字符串
			System.out.println("绘制父类图形");
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//实例化对象并调用方法
		draw(new Shape1());
		//实例化对象并调用方法
		draw(new Squart5());
		//实例化对象并调用方法
		draw(new Circular1());
	}

}

 例题13

package 第七章;

//定义一个可绘制接口
interface Paintable{	//绘制接口
	public void draw();	//绘制的接口方法
}
//定义一个四边型类
class Quadrangle2{
	//定义一个四边形类的成员方法
	public void doAnything() {
		System.out.println("四边形提供的方法");
	}
}
//定义一个平行四边形类,继承四边形类并实现可绘制接口
class Parallelongram extends Quadrangle2 implements Paintable{

	public void draw() {
		System.out.println("绘制正方形");
	}
	public void boAnything() {
		System.out.println("继承重写的四边形方法");
	}
	
}
//定义一个正方形类继承四边形类并实现绘制接口
class Square3 extends Quadrangle2 implements Paintable{

	public void draw() {
		System.out.println("绘制正方形类");
	}
	
}
//定义圆形类,只有实现绘制接口
class Circular6 implements Paintable{
	public void draw() {
		System.out.println("绘制圆形");
	}
}
public class 例题13 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//实例化正方形对象
		Square3 s = new Square3();
		//用对象s调用draw()方法
		s.draw();
		//调用doAnything方法
		s.doAnything();
		//实例化平行四边形对象
		Parallelongram p = new Parallelongram();
		//调用draw方法
		p.draw();
		//调用doAnything方法
		p.doAnything();
		//调用重写的方法
		p.boAnything();
		//实例化圆形对象
		Circular6 c = new Circular6();
		//调用draw方法
		c.draw();
		
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值