JAVA第4章
Java第四章习题
1、分析下列程序:interface Foo{int k = 0; //第二行}public class Test implements Foo{public static void main(String args[ ]){int i;Test test = new Test( );i = test.k; //第八行i = Test.k; //第九行i = Foo.k; //第十行}}该程序的结果是()。
A.编译成功B.编译时在第二行出现错误C.编译时在第八行出现错误D.编译时在第九行出现错误E.编译时在第十行出现错误2、下面哪些方法能够防止被覆盖?()A.final void methoda( ){} B.void final methoda( ){}C.static void methoda( ){} D.static final void methoda( ){} E.final abstract void methoda( ){}3、假设AnInterface是一个接口;AnAdapter0是一个非抽象(non-abstract)、非最终(non-final)并且有无参数构造方法的类;AnAdapter1是一个非抽象(non-abstract)、非最终(non-final)并具有一个int型参数构造方法的类;下面哪两项可以创建一个匿名内部类?()A.method1(new AnAdapter0( ){}) B.method2(new AnAdapter1(5){}) C.AnAdapter0 aa = new AnAdapter0( ){} D.AnAdapter1 aa = new AnAdapter1( 5){} E.AnInterface ai = new AnInterface(5){}4、假定有程序段:public interface Foo{int k = 4;//第二行}下面哪几项与以上接口的第二行等价?()A.final int k = 4; B.public int k = 4;C.static int k = 4; D.private int k = 4;E.abstract int k = 4; F.volatile int k = 4;G.transient int k = 4; H.protected int k = 4;5、下面哪些陈述对默认的构造方法是成立的?()A.默认的构造方法为方法变量进行初始化。
JAVA第四章课后习题解答
txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(5); btn1=new Button("+"); btn2=new Button("-"); btn3=new Button("*"); btn4=new Button("÷");
public class Test4_9 extends Frame implements ActionListener{ Button btn; public Test4_9(){ super("弹出窗口练习"); setSize(300,200);
5
setVisible(true); setLayout(new BorderLayout());
TextField txtFl1,txtFl2,txtFl3;
2
Button btn; public Test4_6(){
super("简单加法运算器"); setSize(300,200); setVisible(true); setLayout(new FlowLayout());
txtFl1=new TextField(5); txtFl2=new TextField(5); txtFl3=new TextField(10); btn=new Button("=");
java第四章试题
一.单选题1.下列哪个是反斜杠字符的正确表示?A、\\B、*\\C、\D、\’\’2.下列属于合法的Java标识符是____。
A、_catB、5booksC、+staticD、-3.141593.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd4.下列赋值语句中错误的是A、float f=11.1fB、double d=5.3E12;C、char c='\r';D、byte bb=433;5.下列哪个数代表八进制整数?A、0XA6B、-1E3C、1840D、01446.int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是____。
A、public int MAX_LENGTH=100B、final int MAX_LENGTH=100C、public const int MAX_LENGTH=100D、public final int MAX_LENGTH=1007.十进制数16的16进制表示格式是____。
A、0x10B、0x16C、0xAD、0168.char 类型的取值范围是___。
A、2-7~27-1B、0~216-1C、-215~215-1D、0~28-19.下列叙述中,正确的是____。
A、Java语言的标识符是区分大小写的B、源文件名与public类名可以不相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限10.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd11.指出正确的表达式A、 byte=128;B、 Boolean=null;C、 long l=0xfffL;D、 double=0.9239d;12.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。
《Java语言程序设计》(第3版)第4章
//显示对角线之和
for (i = 0; i < 3; i++) {
sum = sum + a[i][i];
}
System.out.println("对角线之和:" + sum);
}
}
【3】编写一程序,查找某一字符串是否包含有“abc”。
[解答]:
public class Test_3{
public static void main(String[] args) {
String s = "yangen abc";
int a = s.indexOf("abc");
//a位找到abc的下标,找不到则返回-1
if (a != -1) {
System.out.print("包含字符串abc");
} else {
System.out.print("不包含字符串abc");
(2)第一行元素的名字为a[0][0],a[0][1],a[0][2]
(3)置行1列2的元素为0,语句是a[0][1]=0;
(4)
for(int i=0;i<2;i++){
for(in j=0;j<3;j++){
a[i][j]=0;
}
}
(5)
int sum=0;
sum=a[0][2]+a[1][2];
第4章数组与字符串
【1】考虑一个2×3的数组a。
(1)为a写一个设声明。试问,这样的声明使a有多少行,多少列,多少元素?
(2)写出a的第1行的所有元素的名字。
Java基础教程(第3版)_第4章_类与对象
如果有一个类是 public 类 , 那 么源文件的名字必须与这个类的 名字完全相同,扩展名是.java。编 译源文件将生成多个扩展名 为.class的字节码文件,每个字节 码文件的名字与源文件中对应的 类的名字相同,这些字节码文件 被存放在与源文件相同的目录中 。
2018/11/2
第 14 页
例子3 例子3中有两个Java源文件Example4_3.java和Rectangle.java,其 中Rectangle.java含有Rectangle类、Example4_3.java含有Circle类和 主类。程序运行效果如图4.5。
构造方法和对象的创建密切相关 。
2018/11/2
第 16 页
4.3.1 构造方法
构造方法是一种特殊方法,它的名字必须与它所在的类的名 字完全相同,而且没有类型。 允许一个类中编写若干个构造方法,但必须保证他们的参数 不同,即参数的个数不同,或者是参数的类型不同。
需要注意的是 ( 1) 如果类中没有编写构造方法, 系统会默认该类只有一个构造方法, 该默认的构造方法是无参数的,且方 法体中没有语句。 ( 2 )如果类里定义了一个或多个构 造方法,那么 Java 不提供默认的构造 方法 。
4.1.1
例子1 一个能输出圆的面积的 Java应用程序。
public class ComputerCircleArea { public static void main(String args[]) { double radius; //半径 double area; //面积 radius=163.16; area=3.14*radius *radius; //计算面积 System.out.printf("半径是%5.3f的园的面积:\n%5.3f\n",radius,area); } } 事实上, 如果其他Java应用程序也想计算圆的面积,同样需要知道计算 圆面积的算法,即也需要编写和这里同样多的代码。 现在提出如下问题: 能否将和圆有关的数据以及计算圆面积的代码进行封装,使得需要计 算圆面积的Java应用程序的主类无需编写计算面积的代码就可以计算出圆的 面积呢?
java程序设计 第四章 内容提纲汇总
注意:①创建对象的意思是在内存中按类的格式开辟
一个空间。这个空间既有属性空间,又有方法空间。 ②同类的不同对象占用不同的内存空间 创建变量与创建对象示意图
第4章 面向对象编程
2、对象初始化的说明 (1)系统如何对变量初始化 一个变量若在声明后没有赋值而直接使用该变量, 则会出错
同样,用new创建一个对象时,系统会为对象中 的变量进行初始化。系统不但会为对象中的变量分配 内存,同时还为它们设置相应的初值 byte、short、int、long类型变量设初值为0 Float类型变量设初值为0.0f Double类型变量设初值为0.0 Char类型变量设初值为‘\u0000’ Boolean为false; 引用类型初值为null
第4章 面向对象编程
B、修饰方法—公共方法: 公共方法是类的对外接口,它允许其它类或程序 调用 C、修饰域—公共域(公共属性、公共变量):
用public修饰变量,会造成安全性和数据的封装
性下降
第4章 面向对象编程
2)、私有访问控制符:private 用private修饰的属性和方法只能被自身类访问 和修改。它不能被其它类(包括该类的子类)访问和修 改 说明: ①享有最高级别的保护,是类的私有成员 ②其它类若想获得和修改私有成员时,要通过 类的方法
◆封装是抽象的具体体现,它利用操作方法把数据 封装到类中;形成以数据为核心,以方法为外壳的类。
◆继承是一个类继承父类的所有非私有的属性和方 法,它可以提高代码的重用性。 ◆对象是类的实例化的结果,是类的具体化,利用 对象的引用可以使用类的属性和方法完成任务。
第4章 面向对象编程
§4.3 成员变量与封装
态,解决问题)
第4章 面向对象编程
面向对象的方法解决问题的基本过程 对象 实 例 ③ 化 类 实体
Java第四章题
1、已知类的定义如下public class test_3{int x ;int y ;test_3(int a,int b){x=a;y=b;}test_3(){x=-1;y=-1;}int get_x(){return x++;}int get_y(){return y--;}如果用下面三种不同的方法加载类,写出要求的结果:(1)用test_3 a1=new test_3()后;a1.x的内容为_____ ,a1.y的内容为______。
(2)用test_3 a1=new test_3(-2,5)后;a1.x的内容为_____ ,a1.y的内容为______。
(3)用test_3 a1=new test_3(10)后;其结果是__________。
2、设int x=1,float y=2,则表达式x / y的值是( )A、0B、1C、2D、以上都不是3、以下语句有语法错的是( )A、int x=1;y=2;z=3B、for (int x=10,y=0;x>0;x++);C、while (x>5);D、for(;;);4、void 的含义( )A、方法体为空B、定义的方法没有形参C、定义的方法没有返回值D、方法的返回值不能参加算术运算5、以下有关类定义的说法正确的是( )A、一个类可以有成员,也可以没有成员B、类的成员至少有一个属性和一个方法C、类的静态属性同全局变量的概念完全一样,只是表达形式不同D、类的方法在实例化时不占用内存6、以下有关构造函数的说法,正确的是( )A、一个类的构造函数可以有多个B、构造函数在类定义时被调用C、构造函数只能由对象中的其它方法调用。
D、构造函数可以和类同名,也可以和类名不同7、以下有关类的继承的说明中,正确的是( )A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B、子类只能继承父类的方法,不能继承父类的属性C、子类只能继承父类的非私有属性,不能继承父类的方法D、子类不能继承父类的私有属性8、以下有关类的构造函数继承的说明,正确的是( )A、子类继承父类的构造函数,但不能自己定义B、子类可定义自己的构造函数,但受父类定义的构造函数的限制C、子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定D、如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义9、this 和super的使用中,正确的是( )A、都是指一个内存地址B、可以在同一个方法定义中出现C、意义相同D、以上都不10、分析以下程序,下面(AC)方法是对setVar方法的重载。
Java面向对象程序设计第4章_类与对象
值的级别不可以高于该参数的级别 。
例4-4
public class Rect { //负责创建矩形对象的类 double width,height,area; void setWidth(double width) { if(width>0){ this.width=width; }} void setHeight(double height) { if(height>0){ this.height=height; } } double getWidth(){ return width; } double getHeight(){ return height; } double getArea(){ area=width*height; return area; }}
1.对成员变量的操作只能放在方法中,方 法可以对成员变量和该方法体中声明的局部变 量进行操作。 2.需要注意的是:实例方法既能对类变量操 作也能对实例变量操作,而类方法只能对类变 量进行操作。 3.一个类中的方法可以互相调用,实例方法 可以调用该类中的其它方法;类中的类方法只 能调用该类的类方法,不能调用实例方法。
给类命名时,遵守下列编程风格(这不是语法要求 的,但应当遵守):
◆ 1.如果类名使用拉丁字母,那么名字的首字母使用大写字母, 如。 2.类名最好容易识别、见名知意。当类名由几个“单词”复 合而成时,每个单词的首字母使用大写。
考试酷java第四章
第四章1. 关于内部类,下列说法不正确的是()。
内部类不能有自己的成员方法和成员变量2. 有一个类B,下面为其构造方法的声明,正确的是()。
B(int x) {}3. 为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为()static void f()4. 在Java语言中,哪一个包中的类是自动导入的()5. 定义外部类时不能用到的关键字是()。
protected6. 下列哪种类成员修饰符修饰的变量只能在本类中被访问()private7. 定义一个公有double型常量PI,哪一条语句最好()public final static double PI=;8. 下面关于方法的说法,不正确的是()。
如果一个类定义了构造方法,也可以用该类的默认构造方法9. 下面关于类的说法,不正确的是()。
类就是对象10. 给出下面的程序代码:public class X4_1_3 {private float a;public static void m ( ){ }}如何使成员变量a被方法m( )访问()将private float a改为static float a11. 给出下面程序代码:byte[] a1, a2[];byte a3[][];byte[][] a4;下列数组操作语句中哪一个是不正确的()a2 = a112. 下面代码运行后的输出结果为()。
public class X6_1_5 {public static void main(String[] args) {AB aa = new AB();AB bb;bb = aa;}}class AB{ int x = 100; }true13. 设有下列数组定义语句:int a[] = {1, 2, 3};则对此语句的叙述错误的是()。
a数组元素的下标为1~314. 已知有定义:String s="I love",下面哪个表达式正确()s += "you";15. 关于数组,下列说法中不正确的是()。
考试酷java 第四章
第四章1、关于内部类,下列说法不正确的就是( )。
内部类不能有自己的成员方法与成员变量2、有一个类B,下面为其构造方法的声明,正确的就是( )。
B(int x) {}3、为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为( )static void f()4、在Java语言中,哪一个包中的类就是自动导入的?( )java、lang5、定义外部类时不能用到的关键字就是( )。
protected6、下列哪种类成员修饰符修饰的变量只能在本类中被访问?( )private7、定义一个公有double型常量PI,哪一条语句最好?( )public final static double PI=3、14;8、下面关于方法的说法,不正确的就是( )。
如果一个类定义了构造方法,也可以用该类的默认构造方法9、下面关于类的说法,不正确的就是( )。
类就就是对象10、给出下面的程序代码:public class X4_1_3 {private float a;public static void m ( ){ }}如何使成员变量a被方法m( )访问( )将private float a改为static float a11、给出下面程序代码:byte[] a1, a2[];byte a3[][];byte[][] a4;下列数组操作语句中哪一个就是不正确的?( )a2 = a112、下面代码运行后的输出结果为( )。
public class X6_1_5 {public static void main(String[] args) {AB aa = new AB();AB bb;bb = aa;System、out、println(bb、equals(aa));}}class AB{ int x = 100; }true13、设有下列数组定义语句:int a[] = {1, 2, 3};则对此语句的叙述错误的就是( )。
java题库第四章
第四章4.3 习题解答1.问答题略.2.选择题4-1 Applet类是属于(B)包的。
A.java.awtB.java.appletC.java.iong4-2 下列关于Applet程序的描述中,错误的是(B)。
A.Applet程序的主类必须是Applet类的子类B.Applet程序的主类中应该有一个main()方法C.Applet不是完整的独立程序D.Acm的字节码文件必须嵌套在一个HTML文件中4-3 下列关于Applet程序的描述中,错误的是(D)。
A.将编辑好的Java源文件,使用javac命令生成字节码文件B.讲字节码文件嵌入HTML文件,并存放在一个WWW服务器中C.使用浏览器解释HTML文件中的标记D.使用编译器直接执行嵌套在HTML文件中的字节码文件4-4 在Applet类的主要方法中,用来实现初始化操作的是(A)。
A.init() B.stop() C.start() D.paint()4-5 下列关于HTML文件的描述,错误的是(C)。
A.HTML文件是使用一种超文本标记语言(HTML)书写的文件B.HTML文件中使用的标记通常是用一对尖括号括起来的,两个标记之间是正文内容C.HTML文件中没有单独出现的标记D.HTML中不区分大小写字母4-6 下列关于向Applet程序传递参数的描述中,错误的是(A)。
A.Applet程序可以通过命令获得外部参数B.Applet程序可以通过HTML文件获取外部参数C.使用Applet编辑的PARAM标记来实现D.Applet程序中使用getParameter()方法读取参数值4-7 下列关于字体的描述中,错误的是(C)。
A.Font类型提供了创建字体对象的方法B.字体风格(字型)使用了3个静态常量表示C.表示字型的字体风格只能单独使用,不可以组合D.字号表示字的大小,用点表示,一个点为1/72英寸4-8 下列用来获取当前颜色的方法是(B)。
《JavaEE开发技术与案例教程》第4章 Java Web编程
第4章 Java Web编程
(3) destroy()方法 格式:public void destroy() 说明:该方法用于终止Servlet服务,销毁一个Servlet实 例。
(4) getServletConfig()方法 格式:public ServletConfig getServletConfig() 说明:该方法可获得ServletConfig对象,里面包含该 Servlet的初始化信息,如初始化参数和ServletContext 对象。
对这些初始化参数的访问可以在init()方法体中通 过getInitParameter()方法进行获取。 <load-on-startup>用于指定容器载入Servlet时的优先顺 序。如果Servlet没有设定<load-on-startup>载入优先级, 则Servlet容器会在这个Servlet被访问时再进行初始化。
所有的Servlet 对象都要实现Servlet 接口。已经实 现了Servlet 接口的javax.servlet.GenericServlet 和 javax.servlet.http.HttpServlet 这两个抽象类的子类来间 接实现Servlet 接口。
第4章 Java Web编程
1. Servlet接口 用户编写的Servlet程序都必须实现javax.servlet.Servlet 接口,该接口是ServletAPI的核心,在这个接口中有5 个方法必须实现。
第4章 Java Web编程
(2) service()方法 格式:public void service(ServletRequest req,ServletResponse res) throws ServletException,IOException 说明:Servlet成功初始化后该方法会被调用,用于处 理用户请求。该方法在Servlet生命周期中可执行很多 次,每个用户的请求都会执行一次service()方法,完成 与相应客户端的交互。
JAVA基础第章继承与多态练习题
第4章继承与多态一.选择题1. 编译和运行以下两文件结果是( D )。
//文件P1.javapackage MyPackage;class P1{void afancymethod(){System.out.println("What a fancy method");}}//文件P2.javapackage YourPackage;import MyPackage.*;public class P2 extends P1{public static void main(String argv[]){P2 p2 = new P2();p2.afancymethod();}}A.两个均通过编译,P2运行时输出What a fancy methodB.没一个通过编译C.两个均通过编译,但P2运行时出错D.P1 通过编译,但P2出现编译错误2.下列程序运行的结果是(A )。
package a;package b;public class D{public static void main(String args[]) {System.out.println("^_^,今天心情不错!");}}A.出现编译错误B.^_^,今天心情不错!C.通过编译,运行时出错D.以上都不对3.Java的核心类库中哪个包,Java系统能自动引入(B )。
A.java.io B.ngC. D.java.util4.下列程序运行结果是( A )。
private class Base{Base(){int i = 100;System.out.println(i);}public class Pri extends Base{static int i = 200;public static void main(String argv[]){Pri p = new Pri();System.out.println(i);}}A.编译错误B.200 C.100 200 D.1005.下列程序运行结果是(C )。
第4章 Java语言程序设计
CommonEmployee类的所有属性为: class CommonEmployee extends Employee{ //定义子类:一般员工类 String employeeName; //姓名 int employeeNo; //个人编号 String employeeSex; //性别 //以上都是来自父类的继承属性 private double bonus; //奖金, 新定义的数据成员 …… } TimeWorker类的所有属性为: class TimeWorker extends Employee { ///定义子类:钟点工类 String employeeName; //姓名 int employeeNo; //个人编号 String employeeSex; //性别 //以上都是来自父类的继承属性 double ratePerHour; //每小时酬金,新定义的数据成员 double workHours; //当月工作小时数,新定义的数据成员 …… }
2.super关键字 super表示的是当前对象的直接父类对象,是当 前对象的直接父类对象的引用。所谓直接父类是相 对于当前对象的其他“祖先”而言的。 (1)调用父类的构造函数 super(name); //通过super()的调用,给父 类的数据成员赋初值 (2)调用父类的方法 s = super.toString();//调用父类的toString() 方法
(1)编译时多态 在编译阶段,具体调用哪个被重载的方法,编译 器会根据参数的不同来静态确定调用相应的方法。 (2)动态联编 程序中凡是使用父类对象的地方,都可以用子类 对象来代替。在程序运行期间可以通过引用子类的 实例来调用子类的方法。
4.2 继承机制
4.2.1继承的定义 定义派生类的一般格式为: class 派生类名 extends 基类名 { //派生类的属性和方法的定义 }; 其中: 基类名是已声明的类,派生类名是新生成的类名; extends说明了要构建一个新类,该类从已存在的 类派生而来。已存在的类成为基类或父类,而新类就 叫派生类或子类。
《Java程序设计》第04章在线测试
《Java程序设计》第04章在线测试A BC D 、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()。
A BC DInputStreamA BC D输入输出流的、且处理的是A BC D中,以下代码对象。
A 1.B dat”CD t”));D、File类用来处理与文件相关的操作。
2、关于BufferedReader类的read()方法,以下说法正确的是()。
A、方法read()每次读取一行数据。
B、方法read()每次读取一个字节。
C、该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。
D、如果读到流的末尾,该方法返回的结果为null。
3、下列流中哪些属于字节流()。
A、FileInputStreamB、BufferedInputStreamC、FilterInputStreamD、InputStreamReader4、下面哪些方法可以创建文件流( )。
A、文件名B、目录C、路径D、File类的对象5、进行文件相关操作时,可能会抛出哪些异常?()A、FileNotFoundExceptionB、IOExceptionC、ServerTimeOutExceptionD、ng.ArrayIndexOutOfBoundsException第三题、判断题(每题1分,5道题共5分)1、Character流与Byte流的区别是每次读入的字节数不同。
正确错误2、BufferedReader in = new BufferedReader(new InputStreamReader(System.in));in.readLine();该操作的功能是从标准输入接收字符,正确错误、所有的流,在创建时需要用方法关闭流,否则正确错误对文件类提供了许多操作方法,能获得文件对象父路径名的方法是getParentFile()正确错误" file.dat"代码如下: FileInputStream in 正确错误。
JAVA期末复习题及答案——第四章
JAVA期末复习题及答案——第四章一.填空题1.类是属性和方法的集合。
2.在面向对象方法中,类描述的是具有相似属性与操作的一组对象。
3.在面向对象的方法中,类的实例被称为_对象____。
4.面向对象的程序设计方法中涉及的对象是程序中用来描述客观事物的一个实体,它由__属性__和可执行的一组操作共同组成。
5.protected关键字修饰的属性或方法表示可被_类自身,同一个包中的其他类,不同包中的子类_访问。
6.抽象的类不能__生成对象__。
7.构造方法是一种特殊的方法,用它来定义对象的_初始化状态__。
8.___最终___类是不能被继承的类。
9.面向对象的3个最主要的特点是继承性、多态性和封装性。
10.在创建类的对象时都会调用类的构造函数来初始化类中的属性。
11.消息传递的三要素是接收消息的对象、接收消息的方法和方法所需要的参数。
12.访问控制符用来控制类和类的成员的访问权限。
二.选择题1.下列关于Java对import语句规定的叙述中,错误的是:(C )A、在Java程序中import语句可以有多个B、在Java中import语句可以没有C、在Java中import语句必须有一个D、在Java程序中import语句必须引入在所有类定义之前2.下列关于构造函数的叙述中,错误的是:(C)A、Java语言规定构造函数名与类名必须相同B、Java语言规定构造函数没有返回值,但不用void声明C、Java语言规定构造函数不可以重载D、Java语言规定构造函数只能通过new自动调用3.若数组a定义为int[][]a=new int[3][4],则a是:BA、一维数组B、二维数组C、三维数组D、四维数组4.已知:int []a=new int[100]; 在下列给出的数组元素中,非法的是:D A、a[0] B、a[1] C、a[99] D、a[100]5.在Java中,用package语句说明一个包时,该包的层次结构必须是( B)。
自考Java程序语言设计(一)第四章面向对象程序设计讲义
第四章面向对象程序设计目录第一节类和对象第二节定义方法第三节静态成员第四节包装类01 类和对象类的定义类的定义也称为类的声明。
类中含有两部分元素,分别是数据成员变量和成员方法。
类定义的一般格式如下。
修饰符 class 类名 [extends父类名]{修饰符类型成员变量1;修饰符类型成员变量2;……修饰符类型成员方法 1 (参数列表){方法体}……}其中,class是关键字,表明其后定义的是一个类。
含有class的这一行称为类头,后面大括号括住的部分称为类体。
class前的修饰符可以有多个,用来限定所定义的类的使用方式。
类名是用户为该类所起的名字,它必须是一个合法的标识符,并尽量遵从命名约定。
extends是关键字。
如果所定义的类是从某一个父类派生而来,那么,父类的名字要写在extends之后。
类定义中的数据成员变量可以有多个。
成员变量前面的类型是该变量的类型;类中的成员方法也可以有多个,其前面的类型是方法返回值的类型。
如果没有返回值,则写void。
方法体是要执行的真正语句。
在方法体中还可以定义该方法内使用的局部变量,这些变量只在该方法内有效。
方法的参数列表中可以含有0 个或多个参数,每个参数的前面要指明该参数的类型。
类定义中的修饰符是访问权限修饰符,包括 public、private和protected,也可以不写,表示是默认修饰符。
它们既可以用来修饰类,又可以修饰类中的成员,修饰符决定所修饰成员在程序运行时被访问的方式。
具体来说,用public修饰的成员表示是公有的,也就是它可以被其他任何对象访问。
类中限定为private的成员只能被这个类本身访问,在类外不可见。
用 protected修饰的成员是受保护的,只可以被同一包及其子类的实例对象访问。
如果不写任何修饰符,则表明是默认的,相应的成员可以被所在包中的各类访问。
类的示例使用类可以构造所需的各种类型。
例如,程序中要说明日期这个类型,它含有3个成员变量:日、月、年,分别用3个整数来表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
翼腾工作室 出品
4.1.2 awt类包
如要使用awt要先引入包
import java.awt.*;
翼腾工作室 出品
包内容
• (1)基本的窗口类:Frame、Dialog
• (2)基本的GUI组件类: Button、Label、TextField、 TextArea、Checkbox
• (3)基本的事件接口: ActionListener、WindowListener、 MouseListener、KeyListener
•
setLayout(new BorderLayout());
北 西 中 东
南
翼腾工作室 出品
【例4-6边界布局示例 】
• • • • • • • • • • • • • • 1. /* 边界布局示例 */ 2. import java.awt.*; 3. public class Example4_6 extends java.applet.Applet 4. { 5. public void init(){ 6. setLayout(new BorderLayout()); 7. //将其他构件加入 8. add("East", new Button("东")); 9. add("South", new Button("南")); 10. add("West", new Button("西")); 11. add("North", new Button("北")); 12. add("Center", new Button("中")); 13. } 14. }
设计处理事件的类时,就要实现 这个接口。其一般形式如下:
• import java.awt.event.*; • class ClassName implements ActionListener • { • … • btn.addActionListener(this); • … • public abstract void actionPerformed(ActionEvent e) • { • … • } • } 翼腾工作室 出品
翼腾工作室 出品
例4-1完成书上例题
翼腾工作室 出品
ActionListener接口
• • • • 想使用事件,必须导入 import java.awt.event.*; awt对这个接口的定义是: public interface ActionListener extends EventListener • { • public abstract void actionPerformed(ActionEvent e) • } 翼腾工作室 出品
1、浮动布局FlowLayout
• 浮动布局是按照组件的顺序,用 add方法将组件从左至右在一行排列, 一行放不下时就自动换行。 • 这是系统的默认的布局方式。 • 其设置的方法为:
•
setLayout(new FlowLayout());
翼腾工作室 出品
2、边界布局BorderLayout
• BorderLayout类把容器划分成5个区域, 分别标记为“North”、 “South”、 “West”、“East”和“Center”。 • 其设置的方法为:
• • • • • public TextField() public TextField(String text) public TextField(int columns) public TextField(String text ,int columns) Public void addActionListener(ActionListener l) • Public void removeActionListener(ActionListener l)
3、TextArea类
• 文本区TextArea是对多行文本进行编辑的 组件,它拥有水平或垂直的滚动条 . • TextArea txt1=new TextArea(行,列);
翼腾工作室 出品
4、标签Label类
• (1)创建标签 • 创建标签对象时应同时说明这个标 签中的字符串: • Label lb = new Label(“请输入姓名”); • (2)常用方法 • setText(String str) 设置标签文本内 容; • getText() 获取标签文本内容。
翼腾工作室 出品
【例4-5】面板Panel简单示例
• • • • • • • • • • • • • • • • • • • • • 1. /* 面板Panel简单示例 */ 2. import java.awt.*; 3. public class Example4_5 extends java.applet.Applet 4. { 5. Panel panel1,panel2; 6. Button button1,button2,button3,button4; 7. public void init() 8. { 9. panel1=new Panel(); 10. panel2=new Panel(); 11. add(panel1); add(panel2); //添加面板 12. button1=new Button("Button1"); 13. button2=new Button("Button2"); 14. button3=new Button("Button3"); 15. button4=new Button("Button4"); 16. panel1.add(button1); panel1.add(button2); 17. panel2.add(button3); panel2.add(button4); 18. panel1.setBackground(Color.red); 19. panel2.setBackground(Color.blue); 20. } 21. }
翼腾工作室 出品
其他方法
setEchoChar setBackground setEnabled setEditable requestFocus 设置掩码 设置背景颜色 设置是否使能 设置是否只读 设置焦点
翼腾工作室 出品
• (2)创建文本框
• TextField text = new TextField(String str);
• 1、TextComponent 类 • 是一个允许、设置和修改文本的类 其他文本控件都会继承这个类,因此其 他文本控件类都会有下面的一些方法。
翼腾工作室 出品
TextComponent 类方法
方法名 setText(String t) getText() isEdit() setEdit(Boolean b) 功 设置文本内容 获取文本内容 检测文本的可编辑性 设置文本的可编辑性 能
翼腾工作室 出品
面板与布局管理
翼腾工作室 出品
面板(Panel)类
• • • • 创建面板的一般步骤为: (1)创建面板对象: Panel myPanel=new Panel(); (2)将面板添加到Applet容器中: add(myPanel); • (3)把组件放置到面板上: myPanel.add(组件);
第四章 图形用户界面设计
• • • • • 1、Applet及awt类包 2、文本组件及按钮类 3、面板与布局管理 4、事件处理 5、常用图形用户界面组件
翼腾工作室 出品
4.1 awt类包及Applet
• 4.1.1 Applet • Applet是一个功能非常强大的能够嵌 入到HTML页面中,并在浏览器中自动 执行的Java程序。当使用浏览器对一个包 含Applet的Web页面进行浏览时,浏览器 将从Web服务器下载Applet程序到本地执 行。
翼工作室 出品
• (4)界面布局控制类: FlowLayout、BorderLayout、 GridLayout、CardLayout
• (5)基本的绘图支持类: Graphics(图像)、Canvas(画布)
翼腾工作室 出品
• 4.2 文本组件及按钮类
翼腾工作室 出品
4.2.1 文本组件类
getSelectedText()
select(int selStart,intselEnd)
获取选取文本内容
选取文本内容
翼腾工作室 出品
2、TextField类
• 文本框TextField 是对单行文本进行编辑 的组件。它用来接受用户的输入码或显 示可编辑的文本。
翼腾工作室 出品
此类中的主要方法
翼腾工作室 出品
【例4-3】
• • • • • • • • • • • 1. /* 构造按钮 */ 2. import java.applet.*; 3. import java.awt.*; 4. public class Example5_3 extends Applet 5. { 6. Button btn; 7. public void init() { 8. btn=new Button("确定"); 9. add(btn); //把按钮加到Applet中 10. } 11. }
4个生 命周期
翼腾工作室 出品
3、Java Applet程序的运行
• • • • • <HTML> <APPLET CODE="A.class" WIDTH="200" HEIGHT="300"> </APPLET> </HTML>
翼腾工作室 出品