1、java实验及答案实验13:面向对象程序设计继承1、根据下面的要求实现人类Peoplea)人类People的成员变量:私有成员name表示姓名,为String类型私有成员sex表示性别,为boolean类型,true表示男,false表示女私有成员age表示年龄,为int类型b)人类People的方法:(1)无参构造方法People ( ),将各成员变量初始化为默认值(2)构造方法People (String n, boolean s, int a) (3)设置姓名的公有方法(4)读取姓名的公有方法(5)设置性别的公有方法(6)读取性别的公有方法public String getSex( )
2、如果为true,返回male,否则返回female(7)设置年龄的公有方法(8)读取年龄的公有方法(8)void disp( ) 将人的姓名、性别、年龄输出到屏幕2、通过继承第1题中的人People类,派生学生类Student 。要求如下:a)学生类Student的成员变量:私有成员department表示所在院系,为String类型b)学生类Student的方法:(1)无参构造方法Student ( ),将各成员变量初始化为默认值(2)构造方法Student (String n, boolean s, int a, String dep)(3)设置院系的公有方法(4)读取院系的公有方法(5)
3、void disp( ) 将学生的姓名、性别、年龄、所在院系输出到屏幕3、建立学生类Student的测试类StudentTest,任意建立一个学生对象,并调用方法输出该学生的信息。答案:1、 public class People private String name; private boolean sex; private int age; public People() public People(String n,boolean s,int a) setName(n); setSex(s); setAge(a); public void setName(String n) name=
4、n; public String getName() return name; public void setSex(boolean s) sex=s; public String getSex() if(sex=true) return male; else return female; public void setAge(int a) age=a; public int getAge() return age; public void disp() System.out.println(Name:+getName()+ Sex:+getSex()+ Age:+getAge(); 2、pu
5、blic class People private String name; private boolean sex; private int age; public People() public People(String n,boolean s,int a) setName(n); setSex(s); setAge(a); public void setName(String n) name=n; public String getName() return name; public void setSex(boolean s) sex=s; public String getSex(
6、) if(sex=true) return male; else return female; public void setAge(int a) age=a; public int getAge() return age; public void disp() System.out.println(Name:+getName()+ Sex:+getSex()+ Age:+getAge(); 3、public class StudentTest public static void main(String args) Student stu=new Student(Zhang,true,20,
7、SoftWare); stu.disp(); 实验14:面向对象程序设计抽象类1、定义一个抽象类GeneralPeople,要求如下:c)成员变量:私有成员name表示姓名,为String类型私有成员sex表示性别,为boolean类型,true表示男,false表示女d)方法:(1)无参构造方法GeneralPeople ( ),将各成员变量初始化为默认值(2)构造方法GeneralPeople (String name, boolean sex) (3)设置姓名的公有方法(4)读取姓名的公有方法(5)设置性别的公有方法(6)读取性别的公有方法public String getSex( )
8、如果为true,返回male,否则返回female(7)抽象方法public abstract void disp( );2、根据抽象类GeneralPeople派生出学生类Studente)学生类Student的成员变量:私有成员school表示所在学校,为Strimg类型f)学生类Student的方法:(1)无参构造方法Student ( ),将各成员变量初始化为默认值(2)构造方法Student (String name, boolean sex, String school) (3)设置学校的公有方法(4)读取学校的公有方法(8)实现方法disp(),将学生的姓名、性别、所在学校输出到
9、屏幕3、根据学生类Student派生出大学生类CollegeStudent,要求如下:g)CollegeStudent的成员变量:私有成员specialty表示所学专业,为String类型h)CollegeStudent的方法:(1)无参构造方法CollegeStudent ( ),将各成员变量初始化为默认值(2)构造方法CollegeStudent (String name, boolean sex, String school, String specialty)(3)设置专业的公有方法(4)读取专业的公有方法(5)void disp( ) 将学生的姓名、性别、年龄、所在学校、所学专业输出
10、到屏幕4、建立大学生类CollegeStudent的测试类大学生类CollegeStudentTest,任意建立一个大学生对象,并调用方法输出该学生的详细信息。答案:1、package P14;public abstract class GeneralPeople private String name; private boolean sex; public GeneralPeople() super(); public GeneralPeople(String name, boolean sex) super(); this.name = name; this.sex = sex; pub
11、lic String getName() return name; public void setName(String name) this.name = name; public String getSex() if(sex=true) return male; else return female; public void setSex(boolean sex) this.sex = sex; public abstract void disp(); 2、package P14;public class Student extends GeneralPeople private Stri
12、ng school; public Student() super(); public Student(String name, boolean sex, String school) super(name, sex); this.school = school; public String getSchool() return school; public void setSchool(String school) this.school = school; public void disp() System.out.print(Name:+this.getName()+ Sex:+this
13、.getSex()+ School:+this.getSchool(); 3、package P14;public class CollegeStudent extends Student private String specialty;public CollegeStudent() super(); public CollegeStudent(String name, boolean sex, String school, String specialty) super(name, sex, school); this.specialty = specialty; public Strin
14、g getSpecialty() return specialty; public void disp() super.disp(); System.out.print( Specialty:+this.getSpecialty(); 4、package P14;public class CollegeStudentTest public static void main(String args) CollegeStudent c=new CollegeStudent(john,true,zzu,soft); c.disp(); 实验15:面向对象程序设计接口1、定义一个接口GeneralPe
15、ople,包含一个抽象方法void disp( );2、学生类Student实现接口GeneralPeoplei)学生类Student的成员变量:私有成员name表示姓名,为String类型私有成员sex表示性别,为boolean类型,true表示男,false表示女私有成员school表示所在学校,为Strimg类型j)学生类Student的方法:(1)无参构造方法Student ( ),将各成员变量初始化为默认值(2)构造方法Student (String name, boolean sex, String school) (3)设置姓名的公有方法(4)读取姓名的公有方法(5)设置性别的公
16、有方法(6)读取性别的公有方法public String getSex( ) 如果为true,返回male,否则返回female(7)设置学校的公有方法(8)读取学校的公有方法(9)实现方法disp(),将学生的姓名、性别、所在学校输出到屏幕3、根据学生类Student派生出大学生类CollegeStudent,要求如下:k)CollegeStudent的成员变量:私有成员specialty表示所学专业,为String类型l)CollegeStudent的方法:(1)无参构造方法CollegeStudent ( ),将各成员变量初始化为默认值(2)构造方法CollegeStudent (Str
17、ing name, boolean sex, String school, String specialty)(3)设置专业的公有方法(4)读取专业的公有方法(5)void disp( ) 将学生的姓名、性别、年龄、所在学校、所学专业输出到屏幕4、建立接口GeneralPeople的测试程序,要求建立一个GeneralPeople类型的数组g,任意建立几个Student类型的对象和CollegeStudent类型的对象,将这些对象依次赋值给数组g中的数组元素,多态地调用方法disp()。并练习使用操作符instanceof和方法getClass().getName()。答案:1、package
18、 P15;public interface GeneralPeople void disp();2、package P15;public class Student implements GeneralPeople private String name; private boolean sex; private String school; public Student() super(); public Student(String name, boolean sex, String school) super(); this.name = name; this.sex = sex; th
19、is.school = school; public String getName() return name; public void setName(String name) this.name = name; public String getSchool() return school; public void setSchool(String school) this.school = school; public String getSex() if(sex=true) return male; else return female; public void setSex(bool
20、ean sex) this.sex = sex; public void disp() System.out.print(Name:+this.getName()+ Sex:+this.getSex()+ School:+this.getSchool(); 3、package P15;public class CollegeStudent extends Student private String specialty; public CollegeStudent() super(); public CollegeStudent(String name, boolean sex, String
21、 school, String specialty) super(name, sex, school); this.specialty = specialty; public String getSpecialty() return specialty; public void disp() super.disp(); System.out.print( Specialty:+this.getSpecialty(); 4、package P15;public class GeneralPeopleTest public static void main(String args) Student
22、 s=new Student(mary,false,zzu); CollegeStudent s2=new CollegeStudent(henry,true,zzu,management); CollegeStudent s3=new CollegeStudent(zhang,true,zzu,management); GeneralPeople g=new GeneralPeople3; g0=s; g1=s2; g2=s3; for(int i=0;ig.length;i+) System.out.print(gi.getClass().getName()+:); gi.disp();
23、System.out.println(); System.out.println(g0 instanceof CollegeStudent); 实验16:图形用户界面颜色和字体控制1、在一个窗口中分别以5种不同的颜色和字体显示字符串“你好!中国!”答案:package P16;1、import java.awt.*;import javax.swing.*;public class ColorFontControl extends JFrame public ColorFontControl() super.setSize(600,500); super.setLocation(100,150
24、); super.setVisible(true); public void paint(Graphics g) super.paint(g); String s=GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); for(int i=s.length-5;is.length;i+) Color c=new Color(float)Math.random(),(float)Math.random(),(float)Math.random(); g.setColor(c); Font f
25、=new Font(si,Font.PLAIN,i-20); g.setFont(f); g.drawString(你好,中国!,100,(s.length-i)*80); public static void main(String args) ColorFontControl frame=new ColorFontControl(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);实验17:图形用户界面设计事件处理设计如下界面,添加“事件处理”,要求程序具备以下功能:(1)点击“确定”按钮在一消息对话框或者在一标签上显示刚刚输入的
26、信息;(2)点击“取消”按钮清空各文本框里的内容,“学号”后的文本框获得输入焦点.答案:1、package P17;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class UseEventFrame extends JFrame String labelName=学号,姓名,性别,年龄,学院,专业; int fieldLen=10,5,3,3,6,10; private JLabel label=new JLabel6; private JTextField field=new JTextField
27、6; private JButton oBtn,cBtn; private JLabel disLabel; public UseEventFrame() super.setSize(750,400); super.setLocation(50,80); Container c=this.getContentPane(); c.setLayout(new FlowLayout(); for(int i=0;ilabel.length;i+) labeli=new JLabel(labelNamei); for(int i=0;ifield.length;i+) fieldi=new JText
28、Field(fieldLeni); for(int i=0;i6;i+) c.add(labeli); c.add(fieldi); Icon ic1=new ImageIcon(1.gif); Icon ic2=new ImageIcon(2.gif); oBtn=new JButton(确定,ic1); cBtn=new JButton(取消,ic2); c.add(oBtn); c.add(cBtn); disLabel=new JLabel(); c.add(disLabel); MyListener lis=new MyListener(); oBtn.addActionListener(lis); cBtn.addActionListener(lis); super.setVisible(true); p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1