与C 语言的输入有相同的bug,
输入过多的字符串,会留在缓冲区,影响下一次的输入;
Scanner s=new Scanner(System.in); //方法 s.next(); s.nextLine();
next()方法:
- 一定要读取到有效字符后,才可以结束输入
- ***对于有效字符之前的空白字符,next()方法会自动去掉;
- 在输入有效字符后,遇到空白作为分割符 or 结束符
- naxt() 不能得到带有空白字符的字符串。
nextLine()
- 以Enter 作为结束符,返回回车之前所有字符
- 可以得到空白字符串
- 第一个单词小写+驼峰原则
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
- **修饰符:**修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
- 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
- **方法名:**是方法的实际名称。方法名和参数表共同构成方法签名。
- **参数类型:**参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
- **方法体:**方法体包含具体的语句,定义该方法的功能。
- 基本类型数据是值传递,
- 引用类型数据是地址传递。
可变参数
typeName... parameterName
一个方法中只能指定一个可变参数,且必须为最后一个参数。任何普通的参数必须在它之前声明。
方法重载重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。
Java编译器根据***方法签名***判断哪个方法应该被调用。
构造方法- 构造方法和它所在类的名字相同,且构造方法没有返回值。
- 当一个对象被创建时候,构造方法用来初始化该对象。相当于python 的 init()方法
- 构造方法给一个对象的实例变量赋初值,或者创建一个完整的对象。
- 所有的类都有构造方法,因为 Java 自动提供了一个默认构造方法
- 默认构造方法的访问修饰符和类的访问修饰符相同(类为 public,构造函数也为 public;类改为 protected,构造函数也改为 protected)。
在对象被垃圾收集器析构(回收)***System.gc();***之前,调用finalize() 方法,以确保一个对象打开的文件被关闭了。



