一. 什么是构造方法
- 是一个特殊的方法,无返回值,无参数,名字必须跟类名一样
- 每一个类,默认拥有一个构造方法,默认不显示
- 构造方法也可以带参数
- 代码形式 :
public class Go{
public Go(){
}
}
二.this的用法
this用来表示之前的赋值
三.什么是static
static可以用来装饰属性、方法、静态块
四.什么是封装
1.将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 。
2.步骤
修改属性的可见性,设为private;
创建公有的getter/setter方法,用于属性的读法;
在getter/setter方法中加入属性控制语句,对属性值的合法性进行判断 。
五.课后作业
1.package ZYL;
public class Dog {
String name;
int health;
int love = 0;
String ave;
public Dog(String name,int health,String ave){
this.name = name;
this.health = health;
System.out.println("宠物的自白:"+"\n我的名字叫"+name+",健康值是"+
health+",和主任的亲密度是"+love+",我是一只"+ave);
}
}
2.package ZYL;
public class Penguin {
String name;
int health=100;
String sex;
int love = 20;
public Penguin(String name,String sex){
this.name = name;
health =100;
this.sex = sex;
System.out.println("宠物的自白:"+"\n我的名字叫"+name+",健康值是"+
health+",和主任的亲密度是"+love+",性别是"+sex);
}
}
3.package ZYL;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(“欢迎您来到宠物店!!”);
System.out.print(“请输入要领养的宠物名字:”);
String name = scanner.next();
System.out.print(“请选择要领养的宠物类型(1、狗狗 2、企鹅):”);
int tybe = scanner.nextInt();
if (tybe == 1) {
System.out.print(“请选择狗狗的品种(1、聪明的拉布拉多犬 2、酷酷的雪娜瑞):”);
switch (scanner.nextInt()) {
case 1:
String ave = “聪明的拉布拉多犬”;
System.out.print(“请输入狗狗的健康值:”);
int health = scanner.nextInt();
if (health > 100 || health < 0) {
System.out.println(“健康值在0-100之间,默认值为60”);
new Dog(name, 60, ave);
} else {
new Dog(name, health, ave);
}
break;
case 2:
String ave2 = "酷酷的雪娜瑞";
System.out.print("请输入狗狗的健康值:");
int Health = scanner.nextInt();
if (Health > 100 || Health < 0) {
System.out.println("健康值在0-100之间,默认值为60");
new Dog(name, 60, ave2);
} else {
new Dog(name, Health, ave2);
}
}
} else {
System.out.print("请选择企鹅的性别(1、Q仔 2、Q妹):");
switch (scanner.nextInt()) {
case 1:
String sex = "雄性";
new Penguin(name, sex);
break;
case 2:
String sex2 = "雌性";
new Penguin(name, sex2);
break;
}
}
}
}