学习目标:
认识一个Java程序
学习内容:
1、 构造函数
2、一个标准的类
学习步奏:
1、构造函数
Java构造函数也叫构造方法,是Java中一种比较特殊的函数。与函数名相同,无返回值。
作用:
一般用来初始化成员属性和成员方法,即new对象产生后,就调用了对象的属性和方法。
构造函歌是对象一建立就运行,给对象初始化,就包括属性,执行方法中的语句。而一般函数是对象调用才执行,用"方法名"的方式,给对象添加功能。一个对象建立,构造函数只运行一次。而一般函数可以被该对象调用多次。
特点:
1、构造方法必须和类名完全一样
2、不用定义返回值类型。(不同于void类型返回值,void是没有具体返回值类型;构造函数是连类型都没有)
3、不可以写return语句。( 返回值类型都没有,故不需要return语句)
4、编译器会默认送一个构造方法
5、如果我们自己写了一个构造函数,编译器将不在赠送
2、一个标准的类
一个标准的类通常拥有下面四个部分组成:
1.所有的成员变量都要使用private关键字修饰
2.为每一个成员变量编写一对Get/Set方法
3.编写一个无参数的构造方法
4.编写一个全参数的构造方法
例题1:
package com.hg.demo03;
public class Student {
private String name;
private int age;
//构造函数
public Student(){
System.out.println("我是无参构造方法");
}
public Student(String name, int age){
System.out.println("我是有参构造方法");
this.name=name;
if(age>=0&&age<150)
this.age=age;
else
System.out.println("age参数不合法");
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return this.age;
}
public void setName(String name) {
this.name=name;
}
public String getName() {
return this.name;
}
public void show(){
System.out.println("我叫"+this.name+" "+this.age+"岁");
}
}
package com.hg.demo03;
public class demo03Student {
public static void main(String[] args) {
Student stu1 = new Student();
stu1.show();
System.out.println("================");
Student stu2 = new Student("迪丽热巴",30);
stu2.show();
stu2.setAge(31);
stu2.show();
}
}
程序运行结果:
例题2:
package com.hg.demo04;
public class Student {
private String name;
private int age;
public Student(){
}
public Student(String name) {
super();
this.name = name;
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.hg.demo04;
public class demo04Student {
public static void main(String[] args) {
Student stu1 = new Student("孙俪");
stu1.setAge(38);
System.out.println("我是"+stu1.getName()+"我已经"+stu1.getAge()+"岁");
System.out.println("=========================");
Student stu2 = new Student("王祖蓝",42);
System.out.println("我是"+stu2.getName()+"我已经"+stu2.getAge()+"岁");
stu2.setAge(43);
System.out.println("我是"+stu2.getName()+"我已经"+stu2.getAge()+"岁");
}
}