专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java面向对象练习题及答案

Java面向对象练习题及答案

更新时间:2020-06-17 14:57:41 来源:星辉 浏览2591次

面向对象基础

1、定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动,创建两个Point对象p1、p2,分别调用movePoint方法后,打印p1和p2的坐标。

代码演示

public class Point {
	
	//成员变量
	private double x;
	private double y;
	
	//每一个类都带有一个默认的无参构造函数
	public Point() {
		super(); //表示父类的构造函数
		
		/*
		 * 	1.构造函数与类名完全一致
		 * 	2.不能带有返回值类型
		 * 	3.不需要return语句
		 * 
		 * 	作用:创建对象
		 */
	}
	public Point(int x0,int y0) {
		this.x=x0;
		this.y=y0;
	}
	
	public void movePoint(int dx,int dy) {
		this.x+=dx;
		this.y+=dy;
	}
	
	public static void main(String[] args) {
		Point p1 = new Point (2,4);
		p1.movePoint(2, 4);
		System.out.println("p1坐标为:"+p1.x+","+p1.y);
		
		Point p2 = new Point (5,8);
		p2.movePoint(50, 120);
		System.out.println("p2坐标为:"+p2.x+","+p2.y);
	}

2、定义一个矩形类Rectangle:

2.1定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。

2.2有2个属性:长length、宽width

2.3通过构造方法Rectangle(int width,int length),分别给两个属性赋值

2.4创建一个Rectangle对象,并输出相关信息

代码演示

public class Rectangle {
	int length;
	int width;
	
	/*
	 * 	static
	 * 	1.修饰变量:直接通过类名来访问
	 * 	2.修饰方法:也可以通过类名来访问
	 * 	3.修饰代码块:加载类的时候优先执行,并只执行一次
	 * 
	 * 	非静态方法可以访问静态方法和变量
	 * 	静态方法不可以访问非静态方法和变量
	 */
	
	public int getArea() {
		int area=length*width;
		return area;
	}
	
	public int getPer() {
		return (length+width)*2;
	}
	
	public void showAll() {
		int l=this.length;
		int w=this.width;
		int a=length*width;
		int p=(length+width)*2;
		System.out.println("长:"+l+","+"宽:"+w+","+"面积:"+a+","+"周长:"+p);
	}
	
	public Rectangle (int length,int width) {
		this.length=length;
		this.width=width;
	}
	
	public static void main(String[] args) {
		Rectangle r=new Rectangle(5,5);
		r.showAll();
	}

设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。

代码演示

public class Student {

	String name;
	int empno;
	int grade;
	
	public Student(String name,int empno,int grade) {
		this.name=name;
		this.empno=empno;
		this.grade=grade;
	}
	
	public static void sort(Student[] s) {
		for(int i=1;i<s.length;i++) {
			for(int j=0;j<s.length-i;j++) {
				if(s[j].grade < s[j+1].grade) {
					Student t;
					t=s[j];
					s[j]=s[j+1];
					s[j+1]=t;
				}
			}
		}
	}
	
	public static void main(String[] args) {
		
		Student s1=new Student("小明", 1, 80);
		Student s2=new Student("小红", 2, 90);
		Student s3=new Student("小王", 3, 99);
		
		Student[] arr = {s1,s2,s3};
		
		sort(arr);
		
		for(Student is:arr) {
			System.out.println(is.name+"\t"+is.empno+"\t"+is.grade);
		}
		
	}

Java面向对象练习题及答案

以上就是星辉java培训机构的小编针对“Java面向对象练习题及答案”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>