Java常用接口与类——main方法/Object类/Scanner类

>main方法

main函数详解:

  • public修饰符:Java类由JVM调用,为了让JVM可以自由的调用这个main方法,所以使用public修饰符把这个方法给暴漏出来。
  • static修饰符:JVM调用这个方法时,不会先创建该主类的对象,然后通过对象来调用该方法。而是直接通过该类来调用主方法,因此使用static修饰该方法。
  • void返回值:因为主方法被JVM调用,该方法的返回值将返回给JVM,这没有任何意义,因此main方法没有返回值。

Java常用接口与类——main方法/Object类/Scanner类_第1张图片

>equals方法

在Object类中,原生态的equals方法就是用双等于==去判断;

==对于基本数据类型比较值,对于抽象数据类型比较引用;

在String类中对该方法进行了重写:

Java常用接口与类——main方法/Object类/Scanner类_第2张图片

类似的,我们也可以在自己的写的类中根据需求对该方法进行重写,重写同时要重写hashCode;

要求equals()方法相同时,hashCode()(这是一个native方法,用其他语言写的)值也相同,反之亦然;

eclipse可以直接右键同时重写这两个方法;

>toString方法

同样可以根据需求重写,或者eclipse中右键重写;

>clone方法

Object的clone方法是protected;

>浅克隆(对于抽象数据类型,只是克隆一个引用,并不会新开辟一个对象)

想要一个对象可以调用克隆方法,

1.就必须覆盖其clone方法;

2.实现Cloneable接口;

Java常用接口与类——main方法/Object类/Scanner类_第3张图片

>深克隆

io后补充

>Scanner类

使用Scanner类可以很方便的获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件、输入流、字符串中解析出基本类型值和字符串值。

Scanner主要提供了两个方法来扫描输入。

  • hasNextXxx():是否还有下一个输入项,其中Xxx可以是Int、Long等代表基本数据类型的字符串。如果需要判断是否包含下一个字符串,可以省略Xxx。
  • nextXxx():获取下一个输入项。Xxx的含义与前一个方法中的Xxx相同。
举例1:

public static void main(String[] args) {

Scanner sc = new Scanner(System.in); //表示标准键盘输入

while(sc.hasNext()){

System.out.println(sc.next());

}

}

使用ctrl+Z命令表示不再输入,即sc.hasNext()返回false。



举例2:读取当前文件,将文件输入到控制台

import java.util.Scanner;

import java.io.File;

public class Test{

public static void main(String args[]) throws Exception{

Scanner sn = new Scanner(new File(".\\Test.java"));

while(sn.hasNextLine()){

System.out.println(sn.nextLine());

}

}

}

举例3:

Java常用接口与类——main方法/Object类/Scanner类_第4张图片

你可能感兴趣的:(Java)