知识点
面向对象的基本用法
-
编写教师类和学生类,
Student类 属性: name:String age:int major:String interests:String 方法:say() 返回学生的所有个人信息 Teacher类 属性: name:String age:int teachAge:int course:String 方法:say() 输出教师的个人信息 通过测试类创建Student对象和Teacher类赋值和调用say()方法
public class demo3 { public static void main(String[] args) { student s=new student(); s.name="小王"; s.age=12; s.major="大数据"; s.interests="吃喝玩乐"; s.say(); teacher t =new teacher(); t.name="大王"; t.age=21; t.teachAge=3; t.course="sleep"; t.say(); } } //学生类 public class student { String name; int age; String major; String interests; public void say(){ System.out.println("姓名:"+name+" 年龄:"+age+" 专业:"+major+" 兴趣:"+interests); } } //教师类 public class teacher { String name ; int age; int teachAge; String course; public void say() { System.out.println("姓名:"+ name+" 年龄:"+age+" 教龄:"+teachAge+" 课程名:"+course); } }
-
/* 定义一个丈夫Husband类,有姓名、年龄、妻子属性 定义一个妻子Wife类,有姓名、年龄、丈夫属性 丈夫类中有一个getInfo方法,其中,能显示自己的姓名,年龄,和他的妻子的姓名,年龄 妻子类中有一个getInfo方法,其中,能显示自己的姓名,年龄,和她的丈夫的姓名,年龄 定义一个测试类,创建妻子和丈夫对象,然后测试对象调用getInfo方法 */
public class demo3 { public static void main(String[] args) { Wife a=new Wife("小红",28); Husband h=new Husband("小明",27); a.setHusband(h); h.setWife(a); a.getInfo(); h.getInfo(); } } public class Wife { String name ; int age; Husband husband; public Wife(String name , int age){ this.name=name; this.age=age; } public void setHusband(Husband husband){ this.husband=husband; } public Husband getHusband(){ return husband; } public void getInfo() { System.out.println("姓名:"+ name+" 年龄:"+age+" 丈夫:"+ husband.name+","+husband.age); } } public class Husband { String name ; int age; Wife wife; public Husband(String name , int age){ this.name=name; this.age=age; } public void setWife(Wife wife){ this.wife=wife; } public Wife getWife(){ return wife; } public void getInfo() { System.out.println("姓名:"+ name+" 年龄:"+age+" 妻子:"+wife.name+","+wife.age); } }
-
/* (1)声明一个圆柱体类型的类 (2)声明属性:底边的半径,和高 (3)声明方法: A:方法的功能:在方法中打印圆柱体的详细信息 圆柱体的底边的半径是xxx,高是xxx,底面积是xxx,体积是xxx。 B:方法的功能:返回底面积 C:方法的功能:返回体积 D:方法的功能:为圆柱体的底边的半径,和高赋值 E:方法的功能:为圆柱体的底边的半径,和高赋值,并返回赋值的结果 如果底边的半径或高为<=0,赋值失败,返回false,否则返回true (4)并测试 */
public class demo3 { public static void main(String[] args) { round b=new round(); b.setR(2); b.getR(); b.setH(2); b.getH(); b.s(); b.v(); b.message(); } } public class round { private double r; private double h; double s; double v; public void setR(double r) { this.r = r; } public void setH(double h) { this.h = h; } public double getR() { if (r<=0){ boolean a=false; System.out.println(a); }else { boolean a=true; System.out.println(a); } return r; } public double getH() { if (h<=0){ boolean a=false; System.out.println(a); }else { boolean a=true; System.out.println(a); } return h; } public void s() { s=3.14*r*r; } public void v() { v=s*h; } public void message(){ System.out.println("半径:"+r+" 高:"+h+" 面积:"+s+" 体积"+v); } }
-
声明一个日期类型MyDate:
有属性:年year,月month,日day。
创建2个日期 对象,分别赋值为:你的出生日期,你对象的出生日期,并显示信息。
public class demo3 { public static void main(String[] args) { MyDate md1=new MyDate(); md1.year=2001; md1.month=3; md1.day=2; MyDate md2=new MyDate(); md2.year=0; md2.month=0; md2.day=0; System.out.println(md1.year+","+md1.month+","+md1.day); System.out.println(md2.year+","+md2.month+","+md2.day); } } public class MyDate{ int year; int month; int day; }
-
对象数组题目(数组和对象的结合):
定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。 问题:打印出3年级(state值为3)的学生信息。 提示: 1) 生成随机数:Math.random(),返回值类型double; (Matn为工具类)([0,1}) 2) 四舍五入取整:Math.round(double d),返回值类型long
public class demo3 { public static void main(String[] args) { Student [] s=new Student[20]; for(int i=0;i<s.length;i++){ s[i]=new Student(); s[i].number=i+1; s[i].state=(int)(Math.random()*6+1); s[i].score=(int)(Math.random()*100+1); } for(int i=0;i<s.length;i++){ if (s[i].state==3){ s[i].message();} } } } public class Student{ int number; int state; int score; public void message(){ System.out.println("学号"+number+" 年级"+state+" 成绩"+score ); } }