更新时间:2020-06-17 14:57:41 来源:极悦 浏览2763次
面向对象基础
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面向对象练习题及答案”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习