版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、l上机时间:上机时间:第第6、8、10、12周星期三下午周星期三下午7、8节节l使用工具:使用工具:J2SDK 1.4.0 + BlueJ1.2http:/ 物质物质 对象对象(客观存在的客观存在的) 意识意识 类类 (抽象的概念抽象的概念) OO Object-Oriented对象类object 1object 2l继承性是父类和子类继承性是父类和子类之间共享数据和方法之间共享数据和方法的机制;的机制;l继承性具有传递性;继承性具有传递性;l继承性包括单继承和继承性包括单继承和多重继承。多重继承。 子类继承部分个性部分父类共性部分单继承多重继承设备输出设备I/O设备输入设备J在程序设计语言中
2、,模块可以用过在程序设计语言中,模块可以用过程或函数实现。程或函数实现。J假设假设C(x)表示表示x的复杂度,的复杂度,E(x)表示表示解决问题解决问题x的工作量,则一般认为:的工作量,则一般认为: C(p1)C(p2)E(p1)E(p2)基于类的语言基于对象的语言编译型源程序编译型源程序字节码程序字节码程序Java源程序源程序可执行程序可执行程序EXE裸机裸机操作系统操作系统解释器解释器编译编译连接连接编译编译运行运行解释解释运行运行.java.classimport java.applet.*;import java.awt.*;classextends Applet 类名称类名称类成员声
3、明类成员声明 MyFirstJavaAppletHTML文件嵌入Appletwww服务器www服务器www浏览器请求HTML文件下载HTML文件请求Applet字节码下载Applet字节码解释执行Applet字节码import java.io.*;public class MyFirstJavaProgram public static void main(String args ) System.out.println(“Hello World!”); import语句语句class public static void main(String args) 主类名称主类名称方法体方法体lJa
4、va Applet 的输入输出的输入输出 输入输入:利用图形用户界面的控件接收用户信息:利用图形用户界面的控件接收用户信息 输出输出:利用图形或图像的形式输出结果:利用图形或图像的形式输出结果lJava Application 字符界面字符界面:利用:利用 System.in 和和 System.print、System.println输入输出输入输出 图形用户界面图形用户界面:同:同 Java Aplplet 类似类似import java.applet;import java.awt.*;public class SimpleGraphicsInOut extends Applet Lab
5、el prompt; TextField input; Label output; public void init( ) prompt=new Label(“Enter a character please:”); input=new TextField(3); output=new Label(“ “); add(prompt); add(input); add(output); public boolean action(Event e,Object o) output.setText(“You ve entered character “+o.toString( ); return t
6、rue; Applet 举例举例import java.io.*;public class SimpleCharInOut public static void main(String args ) char c= ; System.out.print(“Enter a character please:”); try c=(char)System.in.read( ); catch(IOException e) ; System.out.println(“Youve entered character”+c); Application 字符界面字符界面举例举例import java.awt.
7、*;public class GraphicsAppletInOut public static void main(String args ) AppletFrame MyFrame=new AppletFrame( ); Application 图形用户界面图形用户界面举例举例class AppletFrame extends Frame Label prompt; TextField input; Label output; AppletFrame( ) super(“Application Graphics Frame”); setLayout(new FlowLayout( ); p
8、rompt=new Label(“Enter a character please: “); input=new TextField(4); output=new Label(“ “); add(prompt); add(input); add(output); pack( ); show( ); Application 图形用户界面图形用户界面举例举例 public boolean action(Event e,Object o) output.setText(“Youve entered character “+o.toString( ); return true; public bool
9、ean handleEvent(Event e) if (e.id=Event.WINDOW_DESTROY) System.exit(0); return super.handleEvent(e); Application 图形用户界面图形用户界面举例举例四、基本符号 1、标识符 Java 的标识符由的标识符由字母字母、数字数字、_和和$组成,长度不限。其中字母可以组成,长度不限。其中字母可以是大写或小写的英文字母,数字为是大写或小写的英文字母,数字为 0 到到 9。标识符的第一个字符必须为。标识符的第一个字符必须为字母字母、(_)或或($)符号。标识符区分大小写。标识符符号。标识符区分大小
10、写。标识符用来命名变量、符号常量、数组、方法用来命名变量、符号常量、数组、方法、类、对象、接口、包等。为了提高程、类、对象、接口、包等。为了提高程序的可读性,标识符最好序的可读性,标识符最好“见名知义见名知义”,而且规范大小写的使用方式。,而且规范大小写的使用方式。2、关键字 又称保留字,是又称保留字,是 Java 语言规定了特定含语言规定了特定含义的标识符。用户只能按照系统规定的方义的标识符。用户只能按照系统规定的方式使用,不能自行定义。关键字一律式使用,不能自行定义。关键字一律用小用小写字母写字母表示。表示。Java 中的关键字有中的关键字有 50 个,个,按用途划分为:数据类型、语句、修
11、饰、按用途划分为:数据类型、语句、修饰、方法、类、接口、包,并保留了方法、类、接口、包,并保留了const和和 goto 3、分隔符 分隔符被用来区分分隔符被用来区分 Java Java 源程序中源程序中的基本成分(标识符、关键字、分的基本成分(标识符、关键字、分隔符、运算符和常量),分隔符分隔符、运算符和常量),分隔符分为注释、空白符和普通三种。为注释、空白符和普通三种。 注释注释是为源程序增加必要的解释说是为源程序增加必要的解释说明的内容,其目的是提高程序的可明的内容,其目的是提高程序的可读性,书写注释是编写程序的良好读性,书写注释是编写程序的良好习惯。习惯。JavaJava中有三种形式的
12、注释:中有三种形式的注释: / /* * 注释部分注释部分 * */ / / /* * * 注释部分注释部分 * */ / / / 注释部分注释部分 第二种分隔符是空白符,包括空格、第二种分隔符是空白符,包括空格、回车、换行和制表符(回车、换行和制表符(TabTab键)。各键)。各种种 Java Java 基本成分之间的多个空白符基本成分之间的多个空白符与一个空白符的作用相同。与一个空白符的作用相同。 第三种是普通分隔符,具有确定的第三种是普通分隔符,具有确定的语法含义,不能用错。它包括四种语法含义,不能用错。它包括四种分隔符:分隔符: J 大括号,用来定义类体、方法体大括号,用来定义类体、方
13、法体、复合语句和数组的初始化。、复合语句和数组的初始化。J ; 分号,是语句结束标志。分号,是语句结束标志。J , 逗号,分隔方法的参数,分隔变逗号,分隔方法的参数,分隔变量说明的各个变量。量说明的各个变量。J : 冒号,用于语句标号。冒号,用于语句标号。五、基本数据类型类型名称类型名称关键字关键字占用位数占用位数字节型字节型byte8短整型短整型short16整型整型int32长整型长整型long64单精度浮点型单精度浮点型float32双精度浮点型双精度浮点型double64字符型字符型char16布尔型布尔型boolean8六、表达式与运算符JJava是强类型语言,因此,在进行是强类型语
14、言,因此,在进行赋值操作时要对类型进行检查;赋值操作时要对类型进行检查;J当将占位数少的类型赋值给占位数当将占位数少的类型赋值给占位数多的类型时,多的类型时,Java自动使用隐式类自动使用隐式类型转换;型转换;J当将占位数多的类型赋值给占位数当将占位数多的类型赋值给占位数少的类型时,需要由用户使用显式少的类型时,需要由用户使用显式的强制类型转换。的强制类型转换。package java.lang;import java.util.Random;public final class Math private Math( ) public static final double E = 2.718
15、2818284590452354; public static final double PI = 3.14159265358979323846; public static native double sin(double a); public static native double cos(double a); public static native double tan(double a); public static native double asin(double a); public static native double acos(double a); public st
16、atic native double atan(double a); public static native double exp(double a); public static native double log(double a); public static native double sqrt(double a); public static native double IEEEremainder(double f1, double f2); public static native double ceil(double a); public static native doubl
17、e floor(double a); public static native double rint(double a); public static native double atan2(double a, double b); public static native double pow(double a, double b); public static int round(float a) public static long round(double a) private static Random randomNumberGenerator; public static do
18、uble random( ) public static int abs(int a) public static long abs(long a) public static float abs(float a) public static double abs(double a) public static int max(int a, int b) public static long max(long a, long b) public static float max(float a, float b) public static double max(double a, doubl
19、e b) public static int min(int a, int b) public static long min(long a, long b) public static float min(float a, float b) public static double min(double a, double b) a整型常量整型常量:十进制、八进制和十六进制:十进制、八进制和十六进制a实型常量实型常量:double(双精度)、(双精度)、floata字符常量字符常量:单引号括起来:单引号括起来a布尔常量布尔常量:true 和和 falsea字符串常量字符串常量:双引号括起来:
20、双引号括起来 在在 Java 语言中,所有的变量必须先定义后语言中,所有的变量必须先定义后使用。其格式为:使用。其格式为: 数据类型数据类型 标识符标识符1=初值初值,标识符标识符2.; 如果是基本数据类型,变量在声明时就为如果是基本数据类型,变量在声明时就为其分配内存空间,否则,还需要用其分配内存空间,否则,还需要用 new 为为声明的变量声明的变量分配空间。分配空间。import java.io.*public class CharInLineOut public static void main(String args) char c; System.out.print(“请输入一个字符
21、请输入一个字符”); try c=(char)System.in.read( ); catch(IOException e) ; System.out.println(c+“ ”+c+ “ ”+c); import java.applet.Applet;import java.awt.*;public class SimpleGraphicsInOut extends Applet Label prompt; TextField input; Label output; public void init( ) prompt=new Label(“请输入字符请输入字符”); input=new
22、TextField(3); output=new Label(“ ”); add(prompt); add(input); add(output); public boolean action(Event e,Object o) output.setText(o.toString( )+ “ ” +o.toString()+ “ ”+o.toString( ); return true; k在类体中声明的类成员变量,可在在类体中声明的类成员变量,可在该类的各个成员方法中使用;该类的各个成员方法中使用;k在某个方法体中或参数表中声明的在某个方法体中或参数表中声明的变量只能在该方法体中使用;变量只
23、能在该方法体中使用;k在某个语句块中声明的变量,只能在某个语句块中声明的变量,只能在该语句块中使用。在该语句块中使用。public class VariableScope public static void main(String arge ) int x; x = 10; if ( x = = 10 ) int y = 20; System.out.println( x = + x); System.out.println( y = + y); System.out.println( x = + x); System.out.println(“ y = ” + y); /y没有定义没有定义
24、 public class VariableLifeTime public static void main(String arge ) int sum = 0, A = 10; for ( int x = 1; x = 5 ; x+) int y = 0; y = y + A; sum = sum + y; System.out.print( x = + x); System.out.print( y = + y); System.out.println( sum = + sum); System.out.println( sum = + sum); 在在 Java 语言中,嵌套的程序块的内
25、层与语言中,嵌套的程序块的内层与外层,不允许定义相同的变量名,否则外层,不允许定义相同的变量名,否则将导致编译错误。将导致编译错误。 public class ScopeError public static void main(String arge ) int E = 999; int E = 999; System.out.println( E = + E); 在在 Java 语言中,可以利用关键字语言中,可以利用关键字final 将一个变量定义为常量标识符。将一个变量定义为常量标识符。 final double pi=3.1415926; 变量变量 pi 的值在作用域范围内,只能被的值
26、在作用域范围内,只能被使用,不能被修改。使用,不能被修改。public class FinalVariable private static final double pi = 3.1415926; public static void main(String arge ) System.out.println( pi = + pi); System.out.println( area = + 3 * 3 * pi); 表达式语句表达式语句:表达式后加一个分号:表达式后加一个分号a+=a*6; a+; a+3;复合语句复合语句:包含在一对大括号中的语:包含在一对大括号中的语句序列句序列流程控制
27、语句流程控制语句:顺序结构、选择结构:顺序结构、选择结构和循环结构和循环结构 if (布尔型表达式布尔型表达式) 语句语句1; else 语句语句2; switch (表达式表达式) case 常量常量1:语句块:语句块1; . case 常量常量n:语句块:语句块n; default:语句块:语句块n+1; 格式格式: while (循环条件循环条件) 循环体循环体 含义含义:当循环条件为:当循环条件为true时,时,重复执行循环体。重复执行循环体。 格式格式: do 循环体循环体 while (循环条件循环条件); 含义含义:重复执行循环体,:重复执行循环体,直到循环条件为直到循环条件为f
28、alse。格式:格式:for (表达式表达式1;表达式;表达式2;表达式;表达式3) 循环体;循环体;表达式表达式1:循环初值:循环初值表达式表达式2:布尔型表达式,循环条件:布尔型表达式,循环条件表达式表达式3:循环增量表达式:循环增量表达式qbreak语句语句:使程序的流程从一个:使程序的流程从一个语句块内部转移出去。通常在语句块内部转移出去。通常在switch和循环语句中使用。和循环语句中使用。qcontinue语句语句:只能在循环语句中:只能在循环语句中使用。其作用是终止当前这一轮的使用。其作用是终止当前这一轮的循环,直接进入下一轮的循环。循环,直接进入下一轮的循环。import ja
29、va.awt.Graphics;import java.applet.Applet;public class BreakTest extends Applet public void paint( Graphics g ) int count, square, xPos = 25; for ( count = 1; count = 70 ) break; g.drawString( Integer.toString( square ), xPos, 25 ); xPos += 20; g.drawString( Broke out of loop at count = + count,25,
30、40 ); import java.awt.Graphics;import java.applet.Applet;public class ContinueTest extends Applet public void paint( Graphics g ) int xPos = 25; for ( int count = 1; count = 10; count+ ) if ( count = 5 ) continue; g.drawString( Integer.toString( count ), xPos, 25 ); xPos += 15; g.drawString( skip pr
31、inting 5, 25, 40 ); import java.awt.Graphics;import java.applet.Applet;public class ContinueLabelTest extends Applet public void paint( Graphics g ) int xPos, yPos = 0; nextRow: for ( int row = 1; row = 5; row+ ) xPos = 25; yPos += 15; for ( int column = 1; column row ) continue nextRow; g.drawStrin
32、g( #, xPos, yPos ); xPos += 7; J数组类型属于复合数据类型,它是数组类型属于复合数据类型,它是由类型相同的元素组成的有顺序的由类型相同的元素组成的有顺序的数据集合。数据集合。J特点:特点: 元素类型相同;元素类型相同; 元素有顺序;元素有顺序; 所有元素共用一个名称。所有元素共用一个名称。格式:格式:数组元素类型数组元素类型 数组名数组名 ; 数组元素类型数组元素类型 数组名;数组名;举例:举例: int array_int ; double array_double ; String str; Point P; 与其他的语言不同,在与其他的语言不同,在Java语
33、言中,声明数语言中,声明数组时不能指定它的长度,而是利用组时不能指定它的长度,而是利用new 来为来为数组型变量分配内存空间,我们将其称之为数组型变量分配内存空间,我们将其称之为创建数组。创建数组。 array_int=new int10; array_double=new double1000; int String str=new String10; 数组创建后,系统自动为数组元素赋初值。数组创建后,系统自动为数组元素赋初值。数组元素的默认初值:数组元素的默认初值:整型:整型:0实型:实型:0.0f 或或 0.0d字符:字符:0类对象:类对象:nullint array_int =1,2,
34、3,4,5,6,7;String str=“Fortran”, “QBasic”, “Pascal”;public class MorePrimes public static void main(String args) long primes=new long20; int count=2; long number=5; primes0=2; primes1=3; outer: for (;countprimes.length;number+=2) long limit=(long)Math.ceil(Math.sqrt(double)numebr); for (int i=1;icoun
35、t&primesi=limit;i+) if (number%primesi =0) continue outer; primescount+ =number; for (int i=0;iprimes.length;i+) System.out.println(primesi ); c简单类型的特点:声明时自动分配空简单类型的特点:声明时自动分配空间;赋值操作将拷贝数值。间;赋值操作将拷贝数值。c引用类型:声明时不分配空间,需要引用类型:声明时不分配空间,需要利用利用new完成空间分配(完成空间分配(String隐含分隐含分配);赋值操作是地址的拷贝。配);赋值操作是地址的拷贝。pu
36、blic class Reference public static void main(String args ) int basic = new int 5; int by_ref , by_copy ; basic1 = 100; basic3 = 1000; printArray(basic, basic); by_ref = basic; printArray(by_ref, by_ref); by_ref1 = 128; by_ref4 = 1024; printArray(basic, basic); by_copy = new int5; System.arraycopy( b
37、asic, 0, by_copy, 0, basic.length ); printArray(by_copy, by_copy); public static void printArray( String str, int data ) System.out.print( str + : ); for( int i = 0; i data.length; i+ ) System.out.print( t + datai ); System.out.println( ); public class WeatherFan public temperature=new float10365; f
38、or (int i=0;itemperature.length;i+) for (int j=0;jtemperature0.length;j+) temperatureij =(float)(45.0*Math.random( )-10.0); for (int i=0;itemperature.length;i+) float average=0.0f; for (int j=0;jtemperature0.length;j+) average+=temperatureij; System.out.println(“Average temperature at location ” +(i
39、+1)+ “= ” +average/(flaot)temperature0.length); 在类中,属性是通过数据成员体现的,而在类中,属性是通过数据成员体现的,而操作是用成员函数(又称为操作是用成员函数(又称为方法方法)实现的)实现的。 方法的定义方法的定义 修饰符修饰符 返回类型返回类型 方法名称(方法名称(参数表参数表) /方法体方法体 方法调用有两种基本形式:方法调用有两种基本形式:k返回类型为返回类型为void以独立的表达式语句调用以独立的表达式语句调用k返回类型不是返回类型不是void在表达式中作为一项因子出现在表达式中作为一项因子出现public class SquareDo
40、uble public static void main(String args) double a; for ( int x = 0; x = 10; x+ ) a = x / 10.0; System.out.println( a = + a + a * a = + square( a ) ); public static double square ( double y ) return y * y; 方法的参数可以是基本数据类型、方法的参数可以是基本数据类型、数组和类对象。数组和类对象。 基本数据类型基本数据类型:值参传递:值参传递 数组数组:地址传递:地址传递 类对象类对象:地址传递
41、:地址传递import java.awt.Graphics;public class ArrayMaxMin extends java.applet.Applet public void paint( Graphics g ) double Max, Min; double data = 0.2, 5.6, 7.88, 20.3, -0.234, 3.22 ; Max = ArrayMax ( data ); g.drawString( Max = + Max, 10, 20 ); Min = ArrayMin ( data ); g.drawString( Min = + Min, 10,
42、40 ); double ArrayMax( double array ) double max = array0; for( int i =1; i max ) max = arrayi; return max; double ArrayMin( double array ) double min = array0; for( int i =1; i array.length; i+) if ( arrayi min ) min = arrayi; return min; public class ArrayParameters public static void main ( Strin
43、g args ) double data = 9.0, 56.0, 78.0, 35.0, 36.0 ; PrintA( data ); ElemSqrt( data ); PrintA( data ); static void PrintA( double array ) for ( int i = 0; i array.length; i+) System.out.print( t + arrayi ); System.out.println( ); static void ElemSqrt ( double array ) for ( int i = 0; i array.length;
44、 i+ ) arrayi = Math.sqrt ( arrayi ); 方法的返回值是数组时,调用方法应该利方法的返回值是数组时,调用方法应该利用一个与方法返回值类型相同的数组名,用一个与方法返回值类型相同的数组名,接收方法的返回结果。接收方法的返回结果。 long Fib ( int N ) long fibonacci = new long N; return fibonacci; 也可以写成:也可以写成: long Fibonacci ( int N ) long Fibonacci ( int N ) long fibonacci = new long N; fibonacci0 =
45、 0L; fibonacci1 = 1L; for( int f = 2; f N; f+) fibonaccif = fibonaccif-1 + fibonaccif-2; return fibonacci; void paintArray( Graphics g, long data , int yPosition ) int xPos = 20; for( int i = 0; i data.length; i+ ) g.drawString( + datai, xPos, yPosition ); xPos += 50; if ( ( i + 1 ) % 7 = 0 ) xPos =
46、 20; yPosition += 15; long factorial(int n) if (n=1) return 1; else return n*factorial(n-1); 在在Java中,同一个方法名可以被定义中,同一个方法名可以被定义多次,但要求参数表不能完全一样。多次,但要求参数表不能完全一样。调用方法时,系统是通过方法名和参调用方法时,系统是通过方法名和参数确定所调用的具体方法。这种现象数确定所调用的具体方法。这种现象叫做方法或函数的叫做方法或函数的重载重载。import java.awt.Graphics;import java.applet.Applet;public
47、class MethodOverload extends Applet public void paint( Graphics g ) g.drawString( The square of integer 17 is + square( 17 ), 25, 25 ); g.drawString( The square of double 17.5 is + square( 17.5 ), 25, 40 ); int square( int x ) return x * x; double square( double y ) return y * y; 在在Java的的Application
48、程序中,必须程序中,必须有一个且仅有一个主方法有一个且仅有一个主方法main。当。当一个程序文件中包含一个或多个类一个程序文件中包含一个或多个类时,程序文件的名称必须与包含时,程序文件的名称必须与包含main方法的类名相同。方法的类名相同。main方法是方法是Java程序的起点。程序的起点。public class MainTest public static void main( String args ) int n = args.length; if( n = 0 ) System.out.println( no parament ! ); else System.out.println
49、( number of paraments : + n ); for ( int i = 0; i n; i+ ) System.out.println( args + i + = + argsi ); 类是具有相同属性和行为的类是具有相同属性和行为的对象集合,它是对客观世界对象集合,它是对客观世界的实体进行抽象的结果。的实体进行抽象的结果。import java.awt.Graphics;class Box double width,height,depth; double volume( ) return width*height*depth; void BoxMessage(Graphi
50、cs g,int x,int y) g.drawString(“宽度宽度”+width,x,y); g.drawString(“高度高度”+height,x,y+15); g.drawString(“深度深度”+depth,x,y+30); 类名类名 对象名;对象名; Box myBox; 注意注意:类属于复合数据类型,因此,:类属于复合数据类型,因此,在声明对象时,系统并没有为对象分在声明对象时,系统并没有为对象分配空间,用户需要应用配空间,用户需要应用new完成分配完成分配空间的任务。空间的任务。 myBox=new box( );public class BoxClass extends
51、 Applet public void paint( Graphics g) Box myBox = new Box( ); double myBoxVolume, Volume; myBox.width = 10.5; myBox.height = 20.6; myBox.depth = 15.7; myBoxVolume = myBox.volume( ); g.drawString(“体积是体积是 : ” + myBoxVolume, 25, 20); myBox.BoxMessage( g, 160, 20 ); 为类中数据成员赋初值的途径:为类中数据成员赋初值的途径:定义数据成员时赋
52、初值定义数据成员时赋初值各种类型的默认值各种类型的默认值利用构造函数赋初值利用构造函数赋初值 构造函数构造函数是一个特殊的成员函是一个特殊的成员函数,数,它与类名相同它与类名相同。在创建对。在创建对象空间后,象空间后,系统自动根据参数系统自动根据参数调用相应的构造函数调用相应的构造函数。构造函构造函数的主要功能是为数据成员赋数的主要功能是为数据成员赋初值初值。v在在Java语言中,创建类对象需要经语言中,创建类对象需要经过声明、实例化(过声明、实例化(new)和初始化)和初始化三个步骤。三个步骤。v使用对象包括引用类对象的成员变使用对象包括引用类对象的成员变量和成员方法。格式为类对象名量和成员
53、方法。格式为类对象名.成成员名员名v类对象的清除由系统完成。不需要类对象的清除由系统完成。不需要用户干预。用户干预。类成员是类对象时类成员是类对象时,需要用需要用new为其分配空间为其分配空间class DATE int year, month, day; void setDATE(int y, int m, int d) year = y; month = m; day = d; void showDATE( ) System.out.println(nYEAR = + year + tMOUTH = + month + tDAY = + day); class Person String
54、name; int no; DATE birthday = new DATE( ); void setP(String s,int n,int y1,int m1,int d1) name = s; no = n; birthday.setDATE(y1,m1,d1); void showP( ) System.out.println(NAME = + name + tNO. = + no); birthday.showDATE(); static public void main(String arg ) Person P = new Person( ); P.setP(Zhang Shan
55、, 1234,1980,6,30); P.showP( ); System.out.println(year=+P.birthday.year); 五、类对象作为方法参数class A int x = 5; void change( A a ) System.out.println(a.x = + a.x); a.x = 331; System.out.println(a.x = + a.x); class passObject static public void main(String a ) A aa = new A( ); aa.change(aa); System.out.print
56、ln(aa.x = + aa.x); 六、类对象作为方法的返回值import java.awt.Graphics;class Demo int a; Demo(int i) a = i; Demo increaseByTen( ) Demo demo = new Demo(a+10); return demo; public class returnObject extends java.applet.Applet public void paint( Graphics g ) Demo demo1 = new Demo( 32 ); Demo demo2; g.drawString(demo
57、1.a: + demo1.a, 30, 40); demo2 = demo1.increaseByTen( ); g.drawString(demo2.a: + demo2.a, 30, 60); demo2 = demo2.increaseByTen( ); g.drawString(demo2.a: + demo2.a, 30, 80); class T int x, y; T( ) x = 0; y = 0; T( int i, int j ) x = i; y = j; void setT( int i, int j ) x = i; y = j; 七、对象数组需要用七、对象数组需要用
58、new为其分配空间为其分配空间对象数组需要用对象数组需要用new为其分配空间为其分配空间class ObjectArray static public void main(String arg) T t1 = new T2; t10 = new T( ); t11 = new T(33,44); System.out.println( t10.x + , + t10.y ); System.out.println( t11.x + , + t11.y ); t10.setT(77,88); t11.setT(111,999); System.out.println( t10.x + , + t
59、10.y ); System.out.println( t11.x + , + t11.y ); 访问控制符是一组起到限定类、属性访问控制符是一组起到限定类、属性或方法被程序里的其他部分访问和调或方法被程序里的其他部分访问和调用的修饰符。用的修饰符。类类:public、缺省、缺省属性和方法属性和方法:public、private、protected、private protected、缺省、缺省l若类声明为若类声明为public,则表明这个类可以被,则表明这个类可以被所有的其他类访问和引用,即其他类可以所有的其他类访问和引用,即其他类可以创建这个类的对象,并访问这个类内部的创建这个类的对象,并
60、访问这个类内部的可见的成员变量、调用可见的方法可见的成员变量、调用可见的方法l若成员变量声明为若成员变量声明为public,其他类的方法,其他类的方法可以直接访问它,但这样破坏了封闭性可以直接访问它,但这样破坏了封闭性l若方法声明为若方法声明为public,其他类可以直接调,其他类可以直接调用这个方法,这样的方法往往作为操作类用这个方法,这样的方法往往作为操作类对象的接口对象的接口 若没有设置访问控制符,则说明该若没有设置访问控制符,则说明该类、属性或方法具有缺省访问控制类、属性或方法具有缺省访问控制权限。这样的类、属性和方法权限。这样的类、属性和方法只能只能被同一个包中的类访问和引用被同一个包中的类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自愿喝酒免责协议书
- 商务英语函电(第二版)课件 5.2.1订舱委托书
- 商务英语函电(第二版)课件 1.1.2企业真实工作情境认识
- 外贸公司单证专员工作计划与报关流程
- 呼叫中心专员技能提升培训方案
- 商业保理系统管理员项目计划
- (完整版)数学初一分班重点中学真题经典套题解析
- (完整版)数学新初一分班测试试题A卷及解析
- (完整版)新初一分班数学试卷经典及解析
- 客服代表服务流程优化
- 水闸安全管理办法
- 2025中华护理学会团体标准-成人患者医用粘胶相关性皮肤损伤的预防及护理
- 雨课堂学堂在线学堂云《SPSS在医学统计中的应用(首都医大 )》单元测试考核答案
- 药剂证书考试题库及答案
- 绳锯施工方案及现场安全操作标准
- 江苏省2026年普通高中学业水平合格性考试英语仿真模拟卷01(春季高考适用)(全解全析)
- 2025年护士长年度工作总结(2篇)
- 平台型商业模式的竞争机制
- 2025年中铁党建考试试题及答案
- 拯救北极熊课件
- 管业制造安全应急预案范文
评论
0/150
提交评论