Java 方法
Java 方法
在前面几个章节中我们经常使用到System.out.println(),那么它是什么呢?
println()是一个方法(Method),而System是系统类(Class),out是标准输出对象(Object)。
这句话的用法是调用系统类System中的标准输出对象out中的方法println()。
那么什么是方法呢?
Java方法是语句的集合,它们在一起执行一个功能。
∙方法是解决一类问题的步骤的有序组合
∙方法包含于类或对象中
∙方法在程序中被创建,在其他地方被引用
方法的定义
一般情况下,定义一个方法包含以下语法:
方法包含一个方法头和一个方法体。
下面是一个方法的所有部分:
∙修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。
定义了该方法的访问类型。
∙返回值类型:方法可能会返回值。
returnValueType是方法返回值的数据类型。
有些方法执行所需的操作,但没有返回值。
在这种情况下,returnValueType是关键字void。
∙方法名:是方法的实际名称。
方法名和参数表共同构成方法签名。
∙参数类型:参数像是一个占位符。
当方法被调用时,传递值给参数。
这个值被称为实参或变量。
参数列表是指方法的参数类型、顺序和参数的个数。
参数是可选的,方法可以不包含任何参数。
∙方法体:方法体包含具体的语句,定义该方法的功能。
如:
参数可以有多个:
注意:在一些其它语言中方法指过程和函数。
一个返回非void类型返回值的方法称为函数;一个返回void 类型返回值的方法叫做过程。
实例
下面的方法包含2个参数num1和num2,它返回这两个参数的最大值。
方法调用
Java支持两种调用方法的方式,根据方法是否返回值来选择。
当程序调用一个方法时,程序的控制权交给了被调用的方法。
当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。
当方法返回一个值的时候,方法调用通常被当做一个值。
例如:
如果方法返回值是void,方法调用一定是一条语句。
例如,方法println返回void。
下面的调用是个语句:
示例
下面的例子演示了如何定义一个方法,以及如何调用它:
以上实例编译运行结果如下:
这个程序包含main方法和max方法。
Main方法是被JVM调用的,除此之外,main方法和其它方法没什么区别。
main方法的头部是不变的,如例子所示,带修饰符public和static,返回void类型值,方法名字是main,此外带个一个String[]类型参数。
String[]表明参数是字符串数组。
void 关键字
本节说明如何声明和调用一个void方法。
下面的例子声明了一个名为printGrade的方法,并且调用它来打印给定的分数。
示例
以上实例编译运行结果如下:
这里printGrade方法是一个void类型方法,它不返回值。
一个void方法的调用一定是一个语句。
所以,它被在main方法第三行以语句形式调用。
就像任何以分号结束的语句一样。
通过值传递参数
调用一个方法时候需要提供参数,你必须按照参数列表指定的顺序提供。
例如,下面的方法连续n次打印一个消息:
示例
下面的例子演示按值传递的效果。
该程序创建一个方法,该方法用于交换两个变量。
以上实例编译运行结果如下:
传递两个参数调用swap方法。
有趣的是,方法被调用后,实参的值并没有改变。
方法的重载
上面使用的max方法仅仅适用于int型数据。
但如果你想得到两个浮点类型数据的最大值呢?解决方法是创建另一个有相同名字但参数不同的方法,如下面代码所示:
如果你调用max方法时传递的是int型参数,则int型参数的max方法就会被调用;
如果传递的是double型参数,则double类型的max方法体会被调用,这叫做方法重载;
就是说一个类的两个方法拥有相同的名字,但是有不同的参数列表。
Java编译器根据方法签名判断哪个方法应该被调用。
方法重载可以让程序更清晰易读。
执行密切相关任务的方法应该使用相同的名字。
重载的方法必须拥有不同的参数列表。
你不能仅仅依据修饰符或者返回类型的不同来重载方法。
变量作用域
变量的范围是程序中该变量可以被引用的部分。
方法内定义的变量被称为局部变量。
局部变量的作用范围从声明开始,直到包含它的块结束。
局部变量必须声明才可以使用。
方法的参数范围涵盖整个方法。
参数实际上是一个局部变量。
for循环的初始化部分声明的变量,其作用范围在整个循环。
但循环体内声明的变量其适用范围是从它声明到循环体结束。
它包含如下所示的变量声明:
你可以在一个方法里,不同的非嵌套块中多次声明一个具有相同的名称局部变量,但你不能在嵌套块内两次声明局部变量。
命令行参数的使用
有时候你希望运行一个程序时候再传递给它消息。
这要靠传递命令行参数给main()函数实现。
命令行参数是在执行程序时候紧跟在程序名字后面的信息。
实例
下面的程序打印所有的命令行参数:
如下所示,运行这个程序:
运行结果如下:
构造方法
当一个对象被创建时候,构造方法用来初始化该对象。
构造方法和它所在类的名字相同,但构造方法没有返回值。
通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。
不管你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个默认构造方法,它把所有成员初始化为0。
一旦你定义了自己的构造方法,默认构造方法就会失效。
实例
下面是一个使用构造方法的例子:
你可以像下面这样调用构造方法来初始化一个对象:
大多时候需要一个有参数的构造方法。
实例
下面是一个使用构造方法的例子:
你可以像下面这样调用构造方法来初始化一个对象:
运行结果如下:
可变参数
JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。
方法的可变参数的声明如下所示:
在方法声明中,在指定参数类型后加一个省略号(...) 。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。
任何普通的参数必须在它之前声明。
实例
以上实例编译运行结果如下:
finalize() 方法
Java允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做finalize( ),它用来清除回收对象。
例如,你可以使用finalize()来确保一个对象打开的文件被关闭了。
在finalize()方法里,你必须指定在对象销毁时候要执行的操作。
finalize()一般格式是:
关键字protected是一个限定符,它确保finalize() 方法不会被该类以外的代码调用。
当然,Java的内存回收可以由JVM来自动完成。
如果你手动使用,则可以使用上面的方法。
实例
运行以上代码,输出结果如下:
←Java 正则表达式
Java 流(Stream)、文件(File)和IO→
分类导航
∙HTML / CSS
∙JavaScript
∙服务端
∙数据库
∙移动端
∙XML 教程∙ ∙Web Services ∙开发工具
∙网站建设
Advertisement。
java输入数据的方法
java输入数据的方法Java是一种面向对象的编程语言,提供了丰富的输入数据的方法,本文将介绍几种常用的输入数据的方法。
一、使用Scanner类Scanner类是Java标准库提供的一个用于读取用户输入的类。
通过Scanner类,我们可以方便地从控制台或文件中读取不同类型的数据。
1. 从控制台读取数据要从控制台读取数据,可以使用以下代码:```javaimport java.util.Scanner;public class InputExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个整数:");int num = scanner.nextInt();System.out.println("您输入的整数是:" + num);System.out.print("请输入一个字符串:");String str = scanner.nextLine();System.out.println("您输入的字符串是:" + str);scanner.close();}}```上述代码中,我们首先创建了一个Scanner对象,并传入System.in作为参数,表示从标准输入流中读取数据。
然后通过nextInt()方法读取一个整数,通过nextLine()方法读取一行字符串。
最后,记得调用scanner的close()方法关闭输入流。
2. 从文件读取数据要从文件中读取数据,可以使用以下代码:```javaimport java.io.File;import java.io.FileNotFoundException;import java.util.Scanner;public class FileInputExample {public static void main(String[] args) {try {File file = new File("input.txt");Scanner scanner = new Scanner(file);while (scanner.hasNextLine()) {String line = scanner.nextLine();System.out.println(line);}scanner.close();} catch (FileNotFoundException e) {System.out.println("文件不存在");}}}```上述代码中,我们首先创建了一个File对象,指定要读取的文件路径。
java三种异常处理方法
java三种异常处理方法Java是一种流行的编程语言,但是在编写程序时常常会遇到各种异常。
为了使程序更加健壮和稳定,我们需要使用异常处理机制。
Java中有三种异常处理方法:1. try-catch语句try-catch语句是最常用的异常处理方法。
它的基本语法如下: ```try {// 可能会抛出异常的代码} catch (Exception e) {// 异常处理代码}```在try块中,我们编写可能会抛出异常的代码。
如果这些代码抛出了异常,那么程序就会跳转到catch块中。
catch块中的代码会处理异常,可以输出异常信息,也可以进行其他操作。
2. throws关键字throws关键字可以将异常抛给调用该方法的上一级方法处理。
它的语法如下:```public void method() throws Exception {// 可能会抛出异常的代码}```在方法声明中使用throws关键字,表明该方法可能会抛出某种异常。
如果抛出了异常,异常将会被抛给该方法的调用者处理。
3. finally关键字finally关键字用于编写一段无论是否发生异常都会被执行的代码块。
它的语法如下:```try {// 可能会抛出异常的代码} catch (Exception e) {// 异常处理代码} finally {// 无论是否发生异常都会执行的代码}```在try-catch语句中使用finally块,可以确保无论是否发生异常,finally块中的代码都会被执行。
通常,finally块中会释放资源或者进行一些清理操作。
以上是Java中三种常见的异常处理方法。
在编写程序时,我们应该根据具体情况选择合适的方法处理异常,以保证程序的健壮性和稳定性。
java 接口的方法
java 接口的方法Java 接口的方法1. 概述在 Java 中,接口是定义类行为的一种方式。
接口中的方法是抽象的,没有具体的实现。
在本文中,我们将介绍 Java 接口的各种方法。
2. 默认方法默认方法是在 Java 8 中引入的新特性。
默认方法允许在接口中提供具有默认实现的方法。
默认方法使用default关键字来修饰。
特点如下: - 默认方法可以在接口中直接调用。
- 实现该接口的类可以选择性地重写默认方法。
3. 静态方法静态方法是在 Java 8 中引入的另一个新特性。
静态方法使用static关键字来修饰。
特点如下: - 静态方法可以在接口中直接调用。
- 实现该接口的类无法重写静态方法。
4. 私有方法私有方法是在 Java 9 中引入的新特性。
私有方法使用private 关键字来修饰。
特点如下: - 私有方法只能在接口内部调用。
- 私有方法用于在接口内部封装公共方法的实现细节。
- 实现该接口的类无法直接调用私有方法。
5. 抽象方法抽象方法是接口中最常见的一种方法。
抽象方法没有具体的实现,只有方法的声明。
特点如下: - 接口中的方法默认为抽象方法。
-实现该接口的类必须实现接口中的抽象方法。
- 抽象方法使用public abstract修饰符。
6. 继承方法一个接口可以继承另一个或多个接口。
在继承接口时,子接口将继承父接口的所有方法,包括抽象方法、默认方法和静态方法。
特点如下: - 子接口可以通过extends关键字继承一个父接口。
- 子接口需要实现父接口中的所有抽象方法。
7. 多继承方法冲突当一个类实现了多个接口,并且这些接口中有相同的默认方法时,就会出现多继承方法冲突的情况。
解决方法如下: - 实现类必须重写冲突的方法,以解决方法调用的歧义。
8. 回调方法回调方法是通过接口实现的一种设计模式。
在该模式中,一个对象将函数的引用传递给另一个对象,以便在需要时调用函数。
特点如下: - 通过接口的实现类提供回调方法的具体实现。
java function自定义方法
java function自定义方法Java Function: 自定义方法在Java编程语言中,方法(Method)是一种封装了一段代码的结构,它可以被重复使用,用于执行特定的任务。
通过自定义方法,我们可以将一段逻辑处理的代码封装成一个方法,提高代码的可读性和可维护性。
本文将介绍Java中自定义方法的基本语法和使用方法。
一、方法的定义与调用在Java中,使用关键字"void"表示方法的返回类型,也就是说自定义方法不会返回任何结果。
方法的定义包括方法的修饰符、返回类型、方法名、参数列表和方法体。
下面是一个简单的自定义方法示例:```javapublic class CustomMethodExample {public static void main(String[] args) {printMessage(); // 调用自定义方法}public static void printMessage() {System.out.println("Hello, World!"); // 方法体}}在上述示例中,`printMessage()`方法不接受任何参数,且不返回任何结果。
该方法的作用是在控制台输出"Hello, World!"。
在`main()`方法中,通过`printMessage()`调用该方法。
二、方法的参数自定义方法可以接受参数,以便在方法的执行过程中处理不同的数据。
方法的参数定义在方法名后的括号中,并通过逗号分隔。
下面是一个带有参数的自定义方法示例:```javapublic class CustomMethodExample {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = addNumbers(num1, num2); // 调用自定义方法System.out.println("Sum: " + sum);}public static int addNumbers(int a, int b) {int sum = a + b;return sum;}```在上述示例中,我们定义了一个名为`addNumbers()`的自定义方法,该方法接受两个整数参数`a`和`b`,并返回它们的和。
java基础常用的方法
java基础常用的方法Java基础常用的方法Java作为一门流行的编程语言,拥有着丰富的基础方法。
本文将介绍一些Java基础常用的方法,帮助读者更好地理解和使用这门语言。
一、字符串处理方法在Java中,字符串是一种常用的数据类型,因此字符串处理方法也是开发中常用到的。
下面是一些常见的字符串处理方法:1. length():返回字符串的长度。
javaString str = "Hello World";int len = str.length(); len的值为112. charAt():返回指定索引位置的字符。
javaString str = "Hello World";char ch = str.charAt(4); ch的值为'o'3. substring():返回指定索引范围内的子串。
javaString str = "Hello World";String subStr = str.substring(6); subStr的值为"World"4. concat():将指定字符串连接到原字符串末尾。
javaString str1 = "Hello";String str2 = "World";String result = str1.concat(str2); result的值为"HelloWorld"5. replace():替换字符串中的指定字符或子串。
javaString str = "Hello World";String newStr = str.replace('o', 'a'); newStr的值为"Hella Warld"6. toUpperCase()和toLowerCase():将字符串转换为大写或小写。
java 常用的判空方法
java 常用的判空方法Java是一种广泛应用的编程语言,对于Java开发人员来说,经常需要处理空值的情况。
在Java中,判空是一项常见而重要的任务,因为空值可能导致程序出现异常或错误。
本文将介绍一些常用的判空方法,帮助开发人员正确处理空值情况。
1. 使用if语句判空最基本的判空方法就是使用if语句来判断一个对象是否为空。
例如:```javaif (object == null) {// 对象为空的处理逻辑}```这种方法简单直观,适用于判断单个对象是否为空的情况。
2. 使用StringUtils工具类判空Apache Commons Lang是一个常用的Java工具库,其中的StringUtils类提供了很多方便的字符串处理方法,包括判断字符串是否为空的方法。
例如:```javaif (StringUtils.isEmpty(str)) {// 字符串为空的处理逻辑}```这种方法可以判断字符串是否为空、空白或null,非常实用。
3. 使用Optional类判空Java 8中引入了Optional类,用于解决空指针异常的问题。
Optional类可以包装一个对象,如果对象为空,则可以采取一些默认操作或处理逻辑。
例如:```javaOptional<User> userOptional = Optional.ofNullable(user); userOptional.ifPresent(u -> {// 对象不为空的处理逻辑});```这种方法可以有效地避免空指针异常,并提高代码的可读性。
4. 使用Collection工具类判空当需要判断一个集合是否为空时,可以使用Java集合框架提供的工具类来简化代码。
例如:```java// 集合为空的处理逻辑}```这种方法适用于判断List、Set、Queue等集合是否为空的情况。
5. 使用Objects工具类判空Java 7中引入了Objects类,其中提供了一些用于判空的静态方法。
java 并行执行方法
java 并行执行方法在Java中,有几种方式可以实现方法的并行执行:1. 使用Java的线程池(ThreadPoolExecutor)来实现并行执行。
可以通过创建一个线程池,并将任务提交到线程池中,线程池会自动分配线程来执行任务。
具体可以通过以下代码实现:javaExecutorService executor = Executors.newFixedThreadPool(2); executor.submit(() -> {第一个任务的代码});executor.submit(() -> {第二个任务的代码});executor.shutdown(); 关闭线程池2. 使用Java的Fork/Join框架来实现并行执行。
Fork/Join框架是Java并发包中提供的一个工具,可以将一个任务划分为若干个子任务,并行执行。
具体可以通过以下代码实现:javaclass MyTask extends RecursiveAction {private int start;private int end;public MyTask(int start, int end) {this.start = start;this.end = end;}@Overrideprotected void compute() {if (end - start <= 10) {执行任务的代码} else {int mid = (end + start) / 2;MyTask task1 = new MyTask(start, mid);MyTask task2 = new MyTask(mid + 1, end);invokeAll(task1, task2); 并行执行子任务}}}MyTask task = new MyTask(0, 100);ForkJoinPool pool = new ForkJoinPool();pool.invoke(task); 执行任务3. 使用Java的并发类(如CountDownLatch、CyclicBarrier)来实现多个线程的同步和并行执行。
java中的包含判断方法
java中的包含判断方法在Java中,可以使用多种方法来进行包含判断。
以下是一些常用的方法:1. 使用equals(方法进行相等判断:equals(方法是用来判断两个对象是否相等的方法。
对于基本类型,可以直接使用"=="来进行相等判断;对于对象类型,则需要使用equals(方法。
例如,对于字符串类型的比较,可以使用以下代码:```javaString str1 = "Hello";String str2 = "World";if (str1.equals(str2))System.out.println("str1 equals str2");} elseSystem.out.println("str1 not equals str2");}```2. 使用endsWith(方法判断字符串是否以指定后缀结尾:endsWith(方法用于判断字符串是否以指定的字符串结尾。
它返回一个布尔值,如果字符串以指定的字符串结尾,则返回true;否则返回false。
```java} else}```3. 使用contains(方法判断字符串是否包含指定的子字符串:contains(方法用于判断一个字符串是否包含指定的子字符串。
它返回一个布尔值,如果字符串包含指定的子字符串,则返回true;否则返回false。
例如,判断一个句子是否包含关键字"Java",可以使用以下代码:```javaString sentence = "Java is a programming language";if (sentence.contains("Java"))System.out.println("The sentence contains the keyword Java");} elseSystem.out.println("The sentence does not contain the keyword Java");}```4. 使用containsAll(方法判断一个集合是否包含另一个集合:containsAll(方法用于判断一个集合是否包含另一个集合的所有元素。
Java常用方法大全
Java常用方法大全字符串1、获取字符串的长度length()2 、判断字符串的前缀或后缀与已知字符串是否相同前缀startsWith(String s)后缀endsWith(String s)3、比较两个字符串equals(String s)4、把字符串转化为相应的数值int型Integer.parseInt(字符串)long型Long.parseLong(字符串)float型Folat.valueOf(字符串).floatValue()double型Double.valueOf(字符串).doubleValue()4、将数值转化为字符串valueOf(数值)5、字符串检索indexOf(Srting s) 从头开始检索indexOf(String s ,int startpoint) 从startpoint处开始检索如果没有检索到,将返回-16、得到字符串的子字符串substring(int startpoint) 从startpoint处开始获取substring(int start,int end) 从start到end中间的字符7、替换字符串中的字符,去掉字符串前后空格replace(char old,char new) 用new替换oldtrim()8、分析字符串StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)StringTokenizer(String s,String delim) delim是自己定义的分隔符nextToken() 逐个获取字符串中的语言符号boolean hasMoreTokens() 只要字符串还有语言符号将返回true,否则返回false countTokens() 得到一共有多少个语言符号文本框和文本区1、文本框TextField() 构造文本框,一个字符长TextField(int x) 构造文本框,x个字符长TextField(String s) 构造文本框,显示ssetText(String s) 设置文本为sgetText() 获取文本setEchoChar(char c) 设置显示字符为csetEditable(boolean) 设置文本框是否可以被修改addActionListener() 添加监视器removeActionListener() 移去监视器2、文本区TextArea() 构造文本区TextArea(String s) 构造文本区,显示sTextArea(String s,int x,int y) 构造文本区,x行,y列,显示s TextArea(int x,int y) 构造文本区,x行,y列TextArea(String s,int x,ing y,int scrollbar)scrollbar的值是:TextArea.SCROLLBARS_BOTHTextArea.SCROLLBARS_VERTICAL_ONL YTextArea.SCROLLBARS_HORIZONTAL_ONL Y TextArea.SCROLLBARS_NONEsetText(String s) 设置文本为sgetText() 获取文本addTextListener() 添加监视器removeTextListener() 移去监视器insert(String s,int x) 在x处插入文本sreplaceRange(String s,int x,int y) 用s替换从x到y处的文本append(String s) 在文本的最后追加文本sInt getCaretPosition(int n) 获取文本区中光标的位置按钮1、按钮Button() 构造按钮Button(String s) 构造按钮,标签是ssetLabel(String s) 设置按钮标签是sgetLabel() 获取按钮标签addActionListener() 添加监视器removeActionListener() 移去监视器标签1、标签Label() 构造标签Label(String s) 构造标签,显示sLabel(String s,int x)x是对齐方式,取值:Label.LEFTLabel.RIGHTLabel.CENTERsetText(String s) 设置文本sgetText() 获取文本setBackground(Color c) 设置标签背景颜色setForeground(Color c) 设置字体颜色选择框1、选择框Checkbox() 构造选择框Checkbox(String s) 构造选择框,给定标题sCheckbox(String s,boolean b) b设定初始状态Checkbox(String s,boolean b,CheckboxGroup g) g设定了所属的组(有了组就成为单选框)addItemListener() 添加监视器removeItemListener() 移去监视器getState() 返回选择框的是否选中状态setState(boolean b) 设置选择框的状态getLabel() 获取选择框的标题setLabel(String s) 设置选择框的标题为s选择控件和滚动列表1、选择控件Choice() 构造选择控件add(String s) 向选择控件增加一个选项addItemListener() 添加监视器removeItemListener() 移去监视器getSelectedIndex() 返回当前选项的索引getSelectedItem() 返回当前选项的字符串代表insert(String s,int n) 在n处插入选项sremove(int n)removeAll()2、滚动列表List() 构造滚动列表List(int n) 参数n是可见行数List(int n,boolean b) 参数b是设置是否可以多项选择add(String s) 向列表的结尾增加一个选项add(String s,int n) 在n处增加一个选项AddActionListener() 滚动列表添加监视器addItemListener() 滚动列表上的选项添加监视器remove(int n) 删除n初的选项remnoveAll() 删除全部选项getSelectedIndex() 返回当前选项的索引getSelectedItem() 返回当前选项的字符串代表3、组件类的一些常用方法void setBackground(Color c) 设置组件背景颜色void setForeground(Color c) 设置组件前景颜色void setFonts(Font f) 设置组件字体void setBounds(int x,int y,int w,int h) 设置坐标,x,y表示在容器中坐标,w,h表示宽和高void setLocation(int x,int y) 移动到x,y 处void setSize(int w,int h) 设置宽和高void setVisible(boolean b) 设置组建是否可见int getBounds().wigth 获取宽int getBounds().height 获取高int getBounds().x 获取x 坐标int getBounds().y 获取y 坐标Toolkit getToolkit() 获取工具包对void setEnabled(boolean b) 设置是否可以使用(默认可以)窗口和菜单1、窗口Frame() 构造窗口Frame(String s) 窗口标题是ssetBounds(int x,int y,int w,int h) 窗口位置x,y,宽w,高ysetSize(int w,int h) 设置窗口位置(单位是像素)setBackground(Color c) 设置背景颜色setVisible(boolean b) 设置窗口是否可见pack() 窗口出现时紧凑setTitle(String s) 设置标题为sgetTitle() 获取标题setResizable(boolean b) 设置窗口大小是否可以调整2、菜单条Menubar() 构造菜单条setMenubar() 窗口添加菜单条3、菜单Menu() 构造菜单Menu(String s) 构造菜单,标题saddadd(MenuItem item) 菜单增加菜单选项itemadd(String s) 向菜单增加选项sgetItem(int n) 获取n处的选项getItemCount() 获取选项数目insert(MenuItem item,int n) 在n处插入菜单选项iteminsert(String s,int n) 在n处插入菜单选项remove(int n) 删除菜单的n处的菜单选项removeAll() 删除全部4、菜单项MenuItem() 构造菜单项MenuItem(String s) 构造标题是s的菜单项setEnabled(boolean b) 设置是否可以被选择getLabel() 得到菜单选项名addActionListener() 添加监视器5、有关菜单的技巧addSeparator() 增加菜单分割线CheckboxMenuItem() 复选框菜单项setShortcut(MenuShortcut k) 设置快捷键(k取值KeyEvent.VK_A----KeyEvent.VK_Z)建立对话框1、Dialog类Dialog(Frame f,String s) 构造对话框,初始不可见,s是标题,f是对话框所依赖的窗口Dialog(Frame f,String s,boolean b) b设置初始是否可见getTitle() 获取对话框标题setTitle(String s) 设置对话框标题setModal(boolean b) 设置对话框模式setSize(int w,int h) 设置对话框大小setVisible(boolean b) 显示或隐藏对话框2、FileDialog类Filedialog(Frame f,String s,int mode) mode的值是fileDialog.LOAD或者fileDialog.SAVE public String getDirectory() 获取当前文件对话框中显示的文件所属目录public String getFile() 获取当前文件对话框中文件的字符串表示,不存在返回nullJava中的鼠标和键盘事件1、使用MouseListener借口处理鼠标事件鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出鼠标事件类型是MouseEvent,主要方法有:getX(),getY() 获取鼠标位置getModifiers() 获取鼠标左键或者右键getClickCount() 获取鼠标被点击的次数getSource() 获取鼠标发生的事件源事件源获得监视器的方法是addMouseListener(),移去监视器的方法是removeMouseListener() 处理事件源发生的时间的事件的接口是MouseListener 接口中有如下的方法mousePressed(MouseEvent) 负责处理鼠标按下事件mouseReleased(MouseEvent) 负责处理鼠标释放事件mouseEntered(MouseEvent) 负责处理鼠标进入容器事件mouseExited(MouseEvent) 负责处理鼠标离开事件mouseClicked(MouseEvent) 负责处理点击事件2、使用MouseMotionListener接口处理鼠标事件事件源发生的鼠标事件有2种:拖动鼠标和鼠标移动鼠标事件的类型是MouseEvent事件源获得监视器的方法是addMouseMotionListener()处理事件源发生的事件的接口是MouseMotionListener 接口中有如下的方法mouseDragged() 负责处理鼠标拖动事件mouseMoved() 负责处理鼠标移动事件3、控制鼠标的指针形状setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标形状定义)) 鼠标形状定义见(书P 210)4、键盘事件键盘事件源使用addKeyListener 方法获得监视器键盘事件的接口是KeyListener 接口中有3个方法public void keyPressed(KeyEvent e) 按下键盘按键public void keyReleased(KeyEvent e) 释放键盘按键public void keyTypde(KeyEvent e) 按下又释放键盘按键Java多线程机制1、Java的线程类与Runnable接口Thread类public Thread() 创建线程对象public Thread(Runnable target) target 称为被创建线程的目标对象,负责实现Runnable接口线程优先级Thread类有三个有关线程优先级的静态常量:MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY新建线程将继承创建它的副相承的优先级,用户可以调用Thread类的setPriority(int a)来修改a的取值:Thread.MIN_PRIORITY,Thread.MAX_PRIORITY,Thread.NORM_PRIORITY主要方法启动线程start()定义线程操作run()使线程休眠sleep()sleep(int millsecond) 以毫秒为单位的休眠时间sleep(int millsecond,int nanosecond) 以纳秒为单位的休眠时间currentThread() 判断谁在占用CPU的线程第二十章输入输出流1、FileInputStream类FileInputStream(String name) 使用给定的文件名name创建一个FileInputStream对象FileInputStream(File file) 使用File对象创建FileInpuStream对象File类有两个常用方法:File(String s) s确定文件名字File(String directory,String s) directory是文件目录例如:File f=new File("Myfile.dat");FileInputStream istream=new FileInputStream(f);处理I/O异常当出现I/O错误的时候,Java生成一个IOException(I/O异常)对象来表示这个错误的信号。
java常用方法
java常用方法
以下是Java中常用的一些方法:
1. toString():将一个对象转换为字符串表示形式。
2. equals():比较两个对象是否相等。
3. hashCode():返回对象的哈希码。
4. clone():创建并返回一个对象的副本。
5. getClass():返回对象的类。
6. finalize():在垃圾回收器清除对象之前调用。
7. wait():使线程等待,直到另一个线程通知。
8. notify():唤醒一个等待中的线程。
9. notifyAll():唤醒所有等待中的线程。
10. compareTo():比较两个对象的大小。
11. length():返回字符串的长度。
12. substring():返回字符串的子字符串。
13. indexOf():返回指定字符或字符串在字符串中第一次出现的位置。
14. split():将字符串分割成子字符串数组。
15. trim():去除字符串两端的空格。
这些是Java中一些常用的方法,可以根据具体需求选择使用。
