当前位置:文档之家› 定义学生类JAVA程序设计

定义学生类JAVA程序设计

定义学生类JAVA程序设计
定义学生类JAVA程序设计

定义学生类JA V A程序设计

class student

{

protected String studentNumber=null;

protected String name=null;

protected String sex;

protected int age=1;

protected String nation=null;

protected String sg=null;

protected String phoneNumber;

protected String email;

protected String speciality;

protected String score;

protected String tz;

protected String adress;

protected String birthday;

protected String classRoom;

public void setStudentNumber(String studentNumber)

{

this.studentNumber=studentNumber;

}

public String getStudentNumber()

{

return studentNumber;

}

public void set(String name)//修改姓名

{

https://www.doczj.com/doc/e78003314.html,=name;

}

public String getName() //获得姓名

{

return name;

}

public void setSex(String sex)

{

this.sex=sex;

}

public String getSex()

{

return sex;

}

public void set(int age)

{

this.age=age;

}

public int getAge()

{

return age;

}

public void setNation(String nation) //设置民族{

this.nation=nation;

}

public String getNation() //获取民族{

return nation;

}

public void setSg(String sg)

{

this.sg=sg;

}

public String getSg()

{

return sg;

}

public void setPhoneNumber(String phoneNumber)

{

this.phoneNumber=phoneNumber;

}

public String getPhoneNumber()

{

return phoneNumber;

}

public void setEmail(String email)

{

this.email=email;

}

public String getEmail()

{

return email;

}

public void setSpeciality(String speciality)

{

this.speciality=speciality;

}

public String getSpeciality()

{

return speciality;

}

public void setScore(String score) //设置分数{

this.score=score;

}

public String getScore() //获得分数{

return score;

}

public void setTz(String tz)

{

this.tz=tz;

}

public String getTz()

{

return tz;

}

public void setAdress(String adress)

{

this.adress=adress;

}

public String getAdress()

{

return adress;

}

public void setBirthday(String birthday)

{

this.birthday=birthday;

}

public String getBirthday()

{

return birthday;

}

public void setClassRoom(String classRoom)

{

this.classRoom=classRoom;

}

public String getClassRoom()

{

return classRoom;

}

}

class MyDate extends student

private int year,month,day;

private static int thisYear;

static

{

thisYear=2009;

}

public MyDate(int year,int month,int day)

{

this.set(year,month,day);

}

public MyDate()

{

this(1991,1,5);

}

public MyDate(MyDate d)

{

this.set(d);

}

public void set(int y,int m,int d)

{

this.year=y;

this.month=((m>=1)&(m<=12))?m:1;

this.day=((d>=1)&(d<=31))?d:1;

}

public void set(MyDate d)

{

set(d.year,d.month,d.day);

}

public int getyear()

{

return this.year;

}

public int getMonth()

{

return this.month;

}

public int getDay()

{

return this.day;

}

public String toString()

{

return year+"年"+month+"月"+day+"日";

public static int getThisYear()

{

return thisYear;

}

public static boolean isLeapYear(int year)

{

return year%400==0||year%100!=0&&year%4==0;

}

public boolean isLeapYear()

{

return isLeapYear(this.year);

}

public static void main(String args[])

{

MyDate d=new MyDate();

d.set(1991,1,5);

student a=new student();

d.studentNumber="20091103101";

https://www.doczj.com/doc/e78003314.html,="单祖超";

d.sex="男";

d.age=19;

d.nation="汉族";

d.sg="172";

d.phoneNumber="159********";

d.email="996203097@https://www.doczj.com/doc/e78003314.html,";

d.speciality="电子商务";

d.score="无";

d.adress="经济技术开发区大学路1号昆明学院计算机与网络技术系";

d.birthday="1991年1月";

d.classRoom= "惟实楼";

System.out.print("我的学号为:");

System.out.println( d.getStudentNumber());

System.out.print("我的姓名为:");

System.out.println(d.getName());

System.out.print("我的性别为:");

System.out.println(d.getSex());

System.out.print("我的年龄为:");

System.out.println(d.getAge());

System.out.print("我的民族为:");

System.out.println(d.getNation());

System.out.print("我的身高为:");

System.out.println(d.getSg()+"cm");

System.out.print("我的电话为:");

System.out.println(d.getPhoneNumber());

System.out.print("我的邮箱为:");

System.out.println(d.getEmail());

System.out.print("我的专业为:");

System.out.println(d.getSpeciality());

System.out.print("我的分数为:");

System.out.println(d.getScore());

System.out.print("我的地址为:");

System.out.println(d.getAdress());

System.out.print("我的生日为:");

System.out.println(d.getBirthday());

System.out.println("我的出生日期:"+d.toString()+ ",闰年?"+d.isLeapYear());

System.out.print("上课地点为:");

System.out.println(d.getClassRoom());

}

}

---------- java ----------

我的学号为:20091103101

我的姓名为:单祖超

我的性别为:男

我的年龄为:19

我的民族为:汉族

我的身高为:172cm

我的电话为:159********

我的邮箱为:996203097@https://www.doczj.com/doc/e78003314.html,

我的专业为:电子商务

我的分数为:无

我的地址为:经济技术开发区大学路1号昆明学院计算机与网络技术系

我的生日为:1991年1月

我的出生日期:1991年1月5日,闰年?false

上课地点为:惟实楼

Normal Termination

Output completed (0 sec consumed).

编写一个JAVA程序片断 定义一个表示学生的类student

编写一个JAVA程序片断定义一个表示学生的类student,包括域"学号","班级","姓名","性别","年龄";方法"获得学号","获得班号","获得姓名","获得性别","获得年龄","修改年龄". 程序如下: import https://www.doczj.com/doc/e78003314.html,ng.String; import https://www.doczj.com/doc/e78003314.html,ng.System; import java.io.*; public class StudentManage { public static void main(String args[]) { Student myStudent=new Student(1234567,"023","hfx","male",21); System.out.println(myStudent.toString()); } } class Student { long studentNumber; String classNumber; String studentName; String studentSex; int studentAge; Student(long a,String s,String d,String f,int h) { studentNumber=a; classNumber=s; studentName=d; studentSex=f; studentAge=h; } void getNumber(long sno,String sna) { if(studentName==sna) studentNumber=sno; else System.exit(1); }

java程序设计基础(含参考答案)

“Java程序设计基础”课程习题 一、填空 1.Java程序分两类___Applet___和application,Java Application 类型的程序,程序从 ___main方法___开始执行。 2.定义一个Java类时,通过关键字__extends____指明该类的父类。一个类可以有___1___ 个父类。 3.用public修饰的类称为_公有类或公用类__。用public修饰的类成员称为公有成员。被 说明为public的内容可以被__所有其他类___ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。 4.用___private___ 修饰的类成员称为私有成员。私有成员只能在__本类__ 中使用。 5.如果子类定义的成员变量与父类的成员变量同名,称为___方法覆盖___ ,要表明使用 子类的成员变量,可以在成员变量前加上关键字__super___ 。 6.____Object__ 类是Java类库中所有类的父类。 7.Java字符使用__16位的字符集,该字符集成为__Unicode____ 。 8.当子类中定义的方法与父类方法同名时,称子类方法___覆盖___ 父类方法,子类默认 使用自己的方法。使用父类的同名方法,必须用关键字__super__ 说明。 9.Java源程序文件名的后缀是___.java___,Java字节码文件名的后缀是_.class_____。 10.Java类名的第一个字母通常要求___大写___。 11.Java程序由____类__组成,每个程序有一个主类,Java程序文件名应与____主__类的 名称相同。 12.Java__Application_类型的程序需要main()方法,程序从__main____开始执行。 13.布尔型数据类型的关键字是_boolean__ ,占用位数是___1位___ ,有__true__ 和_false_ 两种值。整型数可以采用_十_ 、__八_ 和__十六_三种进制表示。 14.八进制整数以数字__0_开头。十六进制整数以_0x或0X_ 开头。 15.int整型数占用__32位内存。long整型数占用__64 位内存。 16.127L表示__长整型____ 常量。 17.根据占用内存长度将浮点常量分为_double_____ 和__float____ 两种。 18.单精度浮点常量占用__32_ 位内存,双精度浮点常量占用__64 位内存。 19.在Java语言中,字符串“ABC\tD\b\n”中包括__7个字符。 20.数学关系44&&x<9____ 。数学关系x>3且x<=10对应 的Java表达式是_x>3&&x<=10。数学关系x>3或x<-10对应的Java表达式是_x>3||x<-10_。 21.逻辑表达式true&&false&&true的结果是_false_ 。 22.__new__ 运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会 自动调用类中的构造方法为对象_初始化_。 23.省略访问修饰符的类只能被同_一包_中的类使用,称之具有包访问特性。 24.用public修饰的类称为_公共类_。用public修饰的类成员称为公共成员。被说明为public 的内容可以被_所有类_ 使用。如果public类文件与使用它的类文件不在同一目录中,需要通过_import_语句引入。 25.用_private_ 修饰的类成员称为私有成员。私有成员只能在_本类使用。 26.在类中可以定义多个具有相同名称、但参数不同的方法,这种做法称为__方法重载_ 。 27.如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在 成员变量前加上关键字__this__。

Java程序设计实例与操作答案

第一章认识Java 一.选择题 1.D 2.B 3.D 4.D 二.简答题 1.Java语言有三个技术分支,并且产生了三个版本的Java运行平台,分别是J2SE 标准版,主要用于开发桌面应用程序、低端服务器应用程序和Java Applet程序;J2EE 企业版,主要用于开发分布式网络程序,如电子商务网站和ERP系统等;J2ME 精简版,主要用于嵌入式系统开发,如移动电话、掌上电脑(PDA)以及其他无线设备。 2.Java应用程序和Java Applet程序。Java应用程序要依赖JRE或JDK中的解释器来运行,而Java Applet程序的调用命令嵌入在网页的HTML代码文件中,显示网页时由Web 浏览器内置的Java解释器解释执行,并将其内容显示网页中。 3.Java虚拟机JVM是Java V irtual Machine的缩写。JVM是一个虚构出来的计算机,它有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java字节码文件包括的代码就是基于JVM的。 4.Java语言主要有简单、面向对象、分布式、健壮、安全、跨平台、解释执行、多线程和动态执行的特点。 5.开发Java应用程序时,首先使用任何文本编辑器创建和编辑Java源程序,保存源程序文件时,文件的扩展名为“*.java”。然后使用“javac 程序名.java”命令把源程序编译为字节码文件,最后使用“java 程序名”将字节码文件翻译为计算机可以理解的指令并运行。 开发Java小程序时,首先使用任意纯文本编辑器编写Java源程序和HTML文件,并分别以扩展名“.java”和“.html”保存。其中,HTML文件中应包含调用Java字节码文件的指令。HTML文件可以使用IE浏览器浏览,也可以使用JDK提供的Appletviewer工具浏览。三.编程题 1.解答 //Test.java class Person { String name; String address; String telephone; Person(String name1, String address1, String telephone1) { name = name1; address = address1; telephone = telephone1; } String getName() {

java之public class和class声明区别详解

java之public class和class声明区别详解(转) 在编写类的时候可以使用两种方式定义类: public class定义类: class定义类: 如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。 范例:定义一个类(文件名称为:Hello.java) public class HelloDemo{ //声明一个类,类名称的命名规范:所有单词的首字母大写public static void main(String args[]){ //主方法 System.out.println("Hello World!!!"); //系统输出,在屏幕上打印 } }; 此类使用public class声明,类名称是Hello Demo,但是文件名称Hello.java,所以,此时编译时会出现如下问题: Hello.java:1 类HelloDemo 是公共的,应在名为HelloDemo.java文件中声明 public class HelloDemo{ //声明一个类,类名称的命名规范:所有单词首字母大写 1、错误 以上的错误提示表示:因为使用的是public class声明,所以类名称应该与文件名称完全一致,即应该使用"HelloDemo.java"表示类的名称。 如果类的声明使用了class的话,则类名称可以与文件名称不一致,但是执行的时候肯定执行的是生成后的名称。 范例:有如下代码(文件名称为:Hello.java) class HelloDemo{ public static void main(String args[]){ System.out.println("Hello World!!!"); } }; 文件名称为Hello.java,文件名称与类名称不一致,但是因为使用了class声明所以,此时编译不会产生任何错误,但是生成之后的*.class文件的名称是和class声明的类名称完全一

java类名命名规范

竭诚为您提供优质文档/双击可除 java类名命名规范 篇一:java各种命名规范 定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性。 包的命名(全部小写,由域名定义) java包的名字都是由小写单词组成。但是由于java面向对象编程的特性,每一名java程序员都可以编写属于自己的java包,为了保障每个java包命名的唯一性,在最新的java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程 序包的唯一前缀。 例如:net.frontfree.javagroup 类的命名(单词首字母大写) 根据约定,java类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写例如testpage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如:xmlexample,还有一点命名技巧就是

由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。 例如:graphics 方法的命名(首字母小写,字母开头大写) 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。例如:drawimage 常量的命名(全部大写,常加下划线) 常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。 例如:max_Value 参数的命名 参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。 javadoc注释 java除了可以采用我们常见的注释方式之外,java语言规范还定义了一种特殊的注释,也就是我们所说的javadoc注释,它是用来记录我们代码中的api的。javadoc 注释是一种多行注释,以/**开头,而以*/结束,注释可以包含一些html标记符和专门的关键词。使用javadoc注释的好处是编写的注释可以被自动转为在线文档,省去了单独

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

java类与对象

5.2.1 编程实验1:基本类定义 本实验要求在封闭实验课中在教师指导下完成。 1. 实验目的 本实验旨在巩固学生对《Java语言程序设计》中第5章内容的掌握。在这个实验中学生将练习: ? 基本类的定义。 ? 使用自定义的基本类创建对象,并进行调用。 在强化练习中,学生将练习: ? 给基本类中增加属性 ? 在测试类中将增加的属性向控制台打印输出 2. 问题描述 编写一个类,描述学生的学号、姓名、成绩。学号用整型,成绩用浮点型,姓名用String类型。 编写一个测试类,输入学生的学号和成绩,并显示该学号的学生姓名,以及成绩。 3. 示例输出 4. 程序模板 class Student{ /* 此处创建三个属性。 */ } public class T1_Student{ public static void main(String[] args){ /* 先构造Student对象,然后分别为对象的属性赋值 最后打印输出对象的各个属性。 */ } } 5. 解答提示 1)在基本类的定义中描述学生类,学生的学号、成绩和姓名作为学生类的属性来描述。2)在测试类中写main方法,作为程序的入口进行运行,在main方法中创建学生对象,并

给对象的各个属性赋予具体值。 3)在测试类中用System.out.println()方法将属性的具体值输出到控制台,完成程序的输出结果要求。 6. 强化练习 1)给学生类添加性别属性,取值为boolean类型,用true表示男,用false表示女。 2)在测试类中输出学生的姓名、学号、成绩的同时,输出性别为:男或女。 5.2.2 编程实验2:构造方法 本实验要求在封闭实验课中在教师指导下完成。 1. 实验目的 本实验旨在巩固学生对《Java语言程序设计》中第5章内容的掌握。在这个实验中学生将练习: ? 定义多个基本类 ? 构造方法的定义 ? 构造方法的重载 在强化练习中,学生将练习: ? 构造方法的多个重载 ? 只通过指定长和宽来定制桌子。 2. 问题描述 编写一个类,描述桌子,包括以下几种属性:长、宽、高、颜色。并且使该类具有这样的功能:在定制桌子(即创建桌子对象时),就可以同时指定桌子的长宽高来订制。也可以同时指定长、宽、高、颜色来订制,也可单独指定桌子颜色来订制。 并编写一个测试类测试这几种定制方法。 5.2.3 编程实验3:访问器方法 本实验要求在封闭实验课中在教师指导下完成。 1. 实验目的 本实验旨在巩固学生对《Java语言程序设计》中第5章内容的掌握。在这个实验中学生将练习: ? 编写基本类,包括私有属性 ? 给基本类添加访问器方法,从而限制属性的读、写。 ? 测试类的编写,测试访问器方法对属性的读、写限制。 在强化练习中,学生将练习: ? 在基本类中添加私有属性。 ? 给该私有属性分别添加get和set访问器方法进行读、写。 2. 问题描述 编写一个类,描述银行账户,包括收入、支出和账户余额三种属性,同时包括对这三种

《JAVA程序设计》(含答案)

《JA V A程序设计》练习题 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A)。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A)。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 5、关于选择结构下列哪个说法正确?( B ) A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 6、while循环和do…while循环的区别是:( D) A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 7、关于for循环和while循环的说法哪个正确?( B) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空

JAVA类与对象的创建

试验四 类和对象的创建 一.类的定义 类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类用来定义对象的模板。 类的实现包括两部分:类声明和类体。基本格式为: 修饰符class类名[extends父类名]{ /*类体的内容*/ } 1.类声明 以下是一个类声明的例子。 class People成为类声明,People是类名。习惯上,类名的第一个字母大写,但这不是必须的。类的名字不能是Java中的关键字,要符合标识符规定,即类的名字可以由字母、下划线、数字或美元符号组成,并且第一个字母不能是数字。但给类命名时,最好遵守下列规则: (1)如果类名使用拉丁字母,那么名字的首写字母使用大写字母,如Hello、Time、People等。 (2)类名最好容易识别,当类名由几个“单词”复合而成时,每个单词的首写字母使用大写,如BeijingTi me、AmericanGame、HelloChina等。 2.类体 编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“{”、“}”以及它们之间的内容称为类体,大括号之间的内容称为类体的内容。 类体的内容由两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。 下面是一个类名为“Trapezia”的类,类体内容的变量定义部分定义了4个float类型变量:top、bottom、h igh和laderArea,方法定义部分定义了两个方法:“getArea”和“setHigh”。

二.对象 1.对象的创建 创建一个对象包括对象的声明和为对象分配内存两个步骤。 (1)对象的声明。 一般格式为: 类的名字对象名字; 如: 这里People是类的名字,zhubajie是我们声明的对象的名字。 (2)为声明的对象分配内存。 使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(你一定还记得构造方法的名字必须和类名相同这一规定),如: 例1: 「注」如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。 2.对象的使用 对象不仅可以改变自己变量的状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。 通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。 例2:

java基本概念

Java基本概念 1.面向过程的程序设计:所谓面向过程是指从功能的角度分析问题,将待解决的问题空间 分解成若干个功能模块,每个功能模块描述一个操作的具体过程。结构化程序设计方法就是面向过程的一个典型代表。 2.结构化程序设计方法的核心:自顶向下、逐步求精的开发方法;模块化的组织方式;结 构化的语句结构 3.结构化程序设计的特点:程序设计=数据结构+算法 程序内容=过程+过程调用 4.面向对象的程序设计: 面向对象程序设计方法是指用面向对象的方法指导程序设计的整 个过程,所谓面向对象是指以对象为中心,分析、设计及构造应用程序的机制。 5.面向对象程序设计的优点:实现对现实世界客体的自然描述;可控制程序的复杂性;可增 强程序的模块性;可提高程序的重用性;可改善程序的可维护性.面向对象程序=对象+消息. 6.抽象:指从事物中,舍弃个别的、非本质的属性,抽取出共同的、本质的属性的过程, 它是形成概念的必要手段。 抽象包括过程抽象和数据抽象。 过程抽象是指功能抽象,即舍弃个别的功能,抽取共同拥有的功能。 数据抽象是一种更高级别的抽象方法,它将现实世界中存在的客体作为抽象单元,其抽象内容既包括客体的属性特征,也包括行为特征,它是面向对象程序设计所采用的核心方法。模块化和信息隐蔽是数据抽象过程的两个主要概念。 7.封装:封装是指将现实世界中某个客体的属性与行为聚集在一个逻辑单元内部的机制。 利用这种机制可以将属性信息隐藏起来,外界只能够通过提供的特定行为接口改变或获取其属性状态。 在面向对象的程序设计中,封装是指将对象的属性和行为分别用数据结构和方法描述,并将它们绑定在一起形成一个可供访问的基本逻辑单元。 8.对象:对象是用来描述现实世界中客体的部件,是面向对象软件系统在运行时刻的基本 单位。为了区分属于同一个类的不同对象,每个对象都有一个惟一的标识。 对象是具有特殊属性和方法(行为方式、操作)的实体。是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。 9. 重载:在 Java 语言中,同一个成员方法名在同一个作用域中可以被定义多次,但要求 参数表不能完全一样。调用成员方法时,系统将通过成员方法名和参数确定所调用的具体方法。这种现象叫做成员方法的重载。 10.类:类是一组具有相同属性特征的对象的抽象描述,是面向对象程序设计的又一个核心 概念。 类是对象抽象的结果。有了类,对象就是类的具体化,是类的实例。类可以有子类,同样也可以有父类,从而构成类的层次结构。 类之间主要存在三种关系。它们是:关联、聚合和泛化。 11.消息:消息是一个对象要求另一个对象实施某项操作的请求。在一条消息中,需要包含 消息的接收者和要求接收者执行哪项操作的请求,而并没有说明应该怎样做,具体的操作过程由接收者自行决定。 12.消息传递是对象之间相互联系的惟一途径。发送者发送消息,接收者通过调用相应的方 法响应消息,这个过程被不断地重复,使得应用程序在人的有效控制下运转起来,最终得到相应的结果。可以说,消息是驱动面向对象程序运转的源泉。

java程序设计

一、 用户封装手机的基本属性和功能,要求手机既可以使用移动公司的SIM卡也可以使用联通公司的SIM卡(可以使用任何公司提供的SIM卡)。 1.问题的分析 如果设计的手机类中用某个具体的公司,比如移动公司,声明了对象,那么手机就缺少弹性,无法使用其他公司的SIM卡,因为一旦用户需要使用其他公司的SIM卡,需要修改手机的代码,比如增加用其他公司声明的成员变量。 如果每当用户有新的需求,就会导致修改类的某部分代码,那么就应当将这部分代码从该类中分割出去,使它和类中其他稳定的代码之间是松耦合关系(否则系统缺乏弹性,难以维护),即将每种可能的变化对应地提交给抽象类的子类负责完成。 2.设计抽象类 根据以上对问题的分析,首先设计一个抽象类SIM,该抽象类有三个抽象方法giveNumber()、setNumber()和giveCorpName(),那么SIM的子类必须实现giveNumber()、setNumber()和giveCorpName()方法。 3.设计手机类 设计MobileTelephone类(模拟手机),该类有一个useSIM(SIM card)方法,该方法的参数是SIM类型。显然,参数card可以是抽象类SIM的任何一个子类对象的上转型对象,即参数card可以调用SIM的子类重写的giveNumber()方法显示手机所使用的号码,调用子类重写的giveCorpName()方法显示该号码所属的公司。 除了子类外,还有SIM类及子类:SIMOFChinaMobile(模拟移动公司提供的卡)、SIMOFChinaUnicom(模拟联通公司提供的卡)和MobileTelephone类。 下图是MobileTelephone、SIM、SIMOFChinaMobile和SIMOFChinaUnicom类的UML 图。 二、 用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 PC类与CPU和HardDisk类关联的UML图如下。 其中,CPU类要求getSpeed()返回speed的值,要求setSpeed(int m)方法将参数m的值赋值给speed。HardDisk类要求getAmount()返回amount的值。要求setAmount(int m)方法将参数的值赋值给amount。PC类要求setCPU(CPU c)将参数c的值赋值给cpu,,要求setHardDisk(HardDisk h)方法将参数h的值赋值给HD。Y要求show()方法能显示cpu的速度和硬盘的容量。 主类Test的要求 (1)main()方法中创建一个CPU对象cpu。cpu将自己的speed设置为2200; (2)main()方法中创建一个HardDisk对象disk。disk将自己的amount设置为2200; (3)main()方法中创建一个PC对象pc; (4)pc调用setCPU(CPU c)方法,调用时实参是cpu; (5)pc调用setHardDisk(HardDisk h)方法,调用时实参是disk; (6)pc调用show()方法。 三、 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下。

java程序设计答案

《java程序设计》复习题 第一部分选择题(单选) 1. javac 是 java的(B) A.解释器 B.编译器 C.小程序浏览器 D.调试器 2. appletviewer是java的(C) A.解释器 B.编译器 C.小程序浏览器 D.调试器 3. 编译一个定义了三个类和三个方法的 java源码文件,总共会产生几个字节码文件,其扩展名是什么?(C) A.5个字节码文件,其扩展名是“.java” B.2个字节码文件,其扩展名是“.java” C.3个字节码文件,其扩展名是“.class” D.2个字节码文件,其扩展名是“.class” 4. java源码文件的名称与主类的名称(B) A.必须相同但不区分大小写 B.必须相同且区分大小写 C.必须不同 D.任意 5. 下面那些选项不能用做变量名的首字符(C) A.字母 B.下划线(_) C.数字 D.美元符号($) 6. 下面哪个不是java的原始数据类型?(B) A.short B.boolean C.Int D.Float 7.下面哪条语句不会出现编译警告或错误?(A) A.float f=1.3F; B.chat c =”a”; C.float f=1.3;

D.boolean d=null; 8. 以下声明常量不正确的是(B) A.final int PI=3; B.final PI=3; C.static final int PI=3: D.public static final int PI=3; 9. java定义了4个整型数据类型:字节性(byte)短整型(short) 整型(int)长整型(long),其中byte占用内存为(A) A.8bit B.16bit C.32 bit D.64bit 10. 5%2.1的值是(D) A.1 B.0 C.0.8 D.不能通过编译 11. -11&3的值是(A) A.1 B.3 C.9 D.–11 12. 8<<2的值是(A) A.2 B.4 C.8 D.32 13 若有int a = 1, b= 2 , c = 3, d=4; 则表达式a>b?a:c>d?c:d的值是(D) A.1 B.2 C.3 D.4 14. 以下为合法类型转换的为(D) A.( int )”A” B.(char)”A” C.(boolean)(2-2) D.(char) (651/12)

Java中类的理解

面向对象编程 本篇简单介绍面向对象的三个特性,这些特性会在后续中详细讲解。 1、面向对象的三个特性 (1)封装 面向对象的编程核心思想之一就是将数据和对数据的操作封装在一起,从实例中抽取共同性质形成一个概念。 (2)继承 继承体现了一种先进的编程模式,子类可以继承父类的属性和功能,即继承了父类所具有的数据和操作,同时子类还可以增加独有的数据和操作。比如,”猫“继承了“动物类…的属性和功能,但是它又有自己独特的属性和功能,猫可以”喵喵“的叫。 (3)多态 多态是面向对象编程的又一重要特征。多态有两种意义,一种是操作名称的多态,一种是与继承有关的多态,同一种操作被不同的类型对象调用产生不同的行为,比如猫和狗都有动物的叫功能,但是猫的叫声为”喵喵“,狗的叫声为”汪汪“,这就是多态。 2、Java类的声明 类是组成java程序的基本要素,在类里封装了一类对象的状态和方法。同时类也是规范对象的模板,可以创建对象。 类的定义格式: class 类名{ 类体的内容 } class是关键字,用来定义类。”class 类名“是类的声明部分,类名必须是合法的Java标识符。如: class Dog{ int i ; …… } 3、成员变量 (1)成员变量在使用时可以是任何一种数据类型类型(包括基本类型和引用类型)。(2)在定义成员变量时可以对其初始化,如果不对其初始化,java使用默认的对其初始化(详见下图)。 (3)成员变量的作用范围为整个类体。

4、方法 类体的内容有两个:成员变量和方法,其中,一部分方法称为构造方法,供类创建对象时使用,用来给出类所创建的对象初始状态。另一部分方法可分为实例方法和类方法。类所创建的对象可以调用这些方法形成一定的算法,体现对象具有的某种功能。 方法的定义:方法声明和方法体。其一般格式为: 方法声明部分{ 方法体内容 } 最基本的方法声明包括方法名和方法的返回类型,返回类型也称为方法的类型,如:int area(){ ……} 该方法的名字为area,类型为int 方法返回的数据类型可以是任意java 数据类型,当方法不需要返回数据时,返回类型必须是void 。如:void Dog(){……}。 5、方法重载 谈到方法不得不说方法的重载,方法重载是多态性的一种,所谓多态性,是指可以向功能传递不同的消息,以便让对象相应的消息来产生一定的行为。对象的功能是通过类中的方法来体现,那么功能的多态性就是方法的重载。 方法重载是指一个类中可以有多个方法具有相同的名字,但方法的参数必须不同,如果两个方法的名字相同,即使类型不同,也必须保证参数不同。另一种多态是与继承有关的多态,将在继承讨论。 方法的重载例如: [java]view plaincopyprint? 1class Fang{ 2double getArea(double x,int y){ 3return x*y; 4 } 5int getArea(int x,double y){ 6return (int)(x*y);

java程序设计试题及答案()[]()

一、判断题。判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。× 4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。√ 6、一个类可以实现多个接口,接口可以实现“多重继承”。√ 7、实现接口的类不能是抽象类。× 二、不定项选择题。 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A、java B、class C、html D、exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg) D、public void main(String arg[]) 3、关于下面代码的说法(C)是正确的? public class Example{ public static void main(String[] args){ int[] arr= new int[10]; } } A、编译时产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null) 4、不正确的表达式是(AB)。 A、float a=1.0d; B、Double a=new Double(1.0) C、byte a = (byte)340; D、Byte a = 120; 5、定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( CD)。 A、private class MyClass extends Object B、class MyClass extends Object C、public class MyClass D、public class MyClass extends Object 6、下列构造方法的调用方式中,正确的是(C)。 A、按照一般方法调用 B、由用户直接调用

java中数组的定义及使用方法详解

java中数组的定义及使用方法详解 数组:是一组相关变量的集合 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组 数据的有点 不使用数组定义100个整形变量:int i1;int i2;int i3 使用数组定义 int i[100]; 数组定义:int i[100];只是一个伪代码,只是表示含义的 一维数组 一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,声明形式一 声明一维数组:数据类型数组名[]=null; 非配内存给数组:数组名=new 数据类型[长度]; 声明形式二 声明一维数组:数据类型 [] 数组名=null; java数据类型分为两大类 基本数据类型 int、long操作的时候本身就是具体的内容 引用数据类型:数组、类、接口 引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同

时使用 事例声明数组 package com.qn.array; public class Test { public static void main(String[] args) { int score[]=null;//声明数组 score=new int[3];//开辟空间,大小为3 } } 数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等 数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同 数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度 基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是null 事例 package com.qn.array;

JAVA程序设计-答案

JAVA程序设计试题 一、选择题(每题3分,共50题) 5.下列关于运行字节码文件的命令行参的描述中,正确的是(C)。 A.命令行的命令字被存放在args[0]中。 B.数组args[]的大小与命令行的参数的个数无关。 C.第一个命令行参数(紧跟命令字的参数)被存放在args[0]中。 D.第一个命令行参数被存放在args[1]中。 6.paint()方法使用哪种类型的参数? (A) A.Graphics B.Graphics2D C.String D.Color 7.Java的核心包中,提供编程应用的基本类的包是(B)。 A.java.util B.https://www.doczj.com/doc/e78003314.html,ng C.java.applet D.java.rmi 8.编译Java程序时,用于指定生成class文件位置的选项是(A)。 A.-d B.-g C.-verbose D.-nowarn 9.下列标识符(名字)命名原则中,正确的是(C)。 A.类名的首字母小写 B.接口名的首字母小写 C.常量全部大写 D.变量名和方法名的首字母大写 10.下面哪些选项是正确的main方法说明?(D) A.void main() B.private static void main(String args[]) C.public main(String args[]) D.public static void main(String args[]) 11.下面哪种注释方法能够支持javadoc命令?(C) A.// B./*...*/ C./**...*/ D./**...**/ 1.下面哪些标识符在Java语言中是合法的?(AB) A.persons$ B.TwoUsers C.*point D.instanceof F.end-line 2.下列(D)是合法标识符。 A.2end B.-hello C.=AB D.整型变量 3.已知int i = 2 147 483 647; ++i; 则i的值等于(A)。 A.- 2 147 483 648 B.2 147 483 647 C.2 147 483 648 D.-1 4.若x = 5,y = 8,则表达式x|y的值为(B)。 A.3 B.13 C.0 D.5 5.若定义有变量float f1,f2 = 8.0F,则下列说法正确的是(B)。 A.变量f1,f2均被初始化为8.0 B.变量f1没有被初始化,f2被初始化为8.0 C.变量f1,f2均未被初始化 D.变量f2没有被初始化,f1被初始化为8.0 6.基本数据类型short的取值范围是(B)。 A.(-256)~ 255 B.(-32 768)~ 32 767 C.(-128)~ 127 D.0~65 5 35 7.下列(B)是不能通过编译的语句。 A.double d = 545.0; B.char a1 = “c”; C.int i = 321; D.float f1 =4 5.0f; 8.若定义有short s; byte b; char c; 则表达式s * b + c的类型为(C)。 A.char B.short C.int D.byte 9.下列循环语句的循环次数是(B)。

练习05Java类属性方法定义练习题

第4讲Java类,属性和方法定义[] 选择题 1. 问:下列哪些是合法的类定义语句 A.private class A {} B.public class A () C.class A extends Exception, IOException {} D.public class 1A extends Object {} E:public class String {} F:以上都不是 答: 2. 问:下列哪些不是合法的类定义 A:protected class Object {} B:public class Object extends Object {} C:public class Object extends https://www.doczj.com/doc/e78003314.html,ng.Object {} D:class $$$$$$ {} E:class Final {} F:以上都是合法的类定义 G:以上都不是合法的类定义 答: 3.下列定义哪个合法: A:public class UserString implements String {} B:public class final UserDao extends Object {} C:public class UserBusiness { private abstract void addUser(String userId, int age); } D:public class abstract EmployeeInfo implements Object {} E:package com.neusoft.oa.dao; public class Object {} F:以上定义都不是。 答: 4.类的访问控制符有: A:public B:friend C:private D:protected E:以上都不是 答:

相关主题
文本预览
相关文档 最新文档