构造方法:是一种特殊的方法
作用:创建对象
功能:完成对象数据的初始化
注意事项:
1、构造方法的创建:如果没有定义构造方法,系统将给出一个默认的无参构造方法;如果定义了构造方法,系统将不再提供默认的构造方法
2、构造方法的重载:如果自定义了一个带参构造方法,还要使用无参构造方法,就必须再写一个无参构造方法、
推荐:无论是否使用,都手工书写无参构造方法
格式:修饰符 类名(参数){}
以下为一个标准类3.0版本:
标准类3.0版本:
public class 类名{
私有成员变量
无参构造方法
带参构造方法
getXxx()/setXxx()方法
show()方法
}
public class Student {
private String name;
private int age;
public Student(){}//无参构造方法
public Student(String name,int age){//带参构造方法
this.name=name;
this.age=age;
}
public void setName(String name){
this.name =name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age =age;
}
public int getAge(){
return age;
}
public void show(){
System.out.println(name+","+age);
}
}
//测试类
class StudentTest{
public static void main(String[] args) {
//无参构造方法创建对象后进行赋值
Student s1=new Student();
//利用get()/set()赋值
s1.setName("小王");
String n1=s1.getName();
s1.setAge(23);
int n2=s1.getAge();
//输出
s1.show();
//使用带参构造方法直接创建有属性的对象
Student s2=new Student("小王",24);
//输出
s2.show();
}
}
API(Appliacation Programing Interface):应用程序编程接口
Java API :JDK中提供各种功能的Java类,这些类将底层的实现封装了起来,我们不需要关心如何实现的,只需要学习这些类如何使用即可,可以通过帮助文档学习如何使用这些API。
前面说过从键盘录入数据,现在实现从键盘录入一个字符串:使用nextline()方法
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
//创建对象
Scanner sc=new Scanner(System.in);
//接收对象
System.out.println("请输入一个字符串:");
// 快捷键:ctrl+alt+V自动生成左边部分
String line = sc.nextLine();
System.out.println("输入的字符串为:"+line);
}
}
注意:在我们定义一个对象接收从键盘录入的数据时,字符串类型的数据有两种方式:
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
//创建对象
Scanner sc=new Scanner(System.in);
//接收对象
System.out.println("请输入第一个字符串:");
String next = sc.next();
System.out.println("请输入第二个字符串:");
String line = sc.nextLine();
System.out.println("输入的第一个字符串为:"+next);
System.out.println("输入的第二个字符串为:"+line);
}
}
代码解释:sc.next()与sc.nextLine(),这两种方法都可以从键盘录入字符串,但是区别为:nextLine会识别回车符,若将nextLine()直接跟在next()后面,理论上应该是输入两个字符串再进行输出,但实际为当输入第一个字符串后,按下回车键直接就输出了,没有第二个字符串,
上述代码实现结果不会有第二个字符串的输入,也就不会有第二个字符串的输出:
但是如果将nextLine放在next前面进行输入时,则不会发生这种情况。



