对象与封装的课后总结

一. 什么是构造方法

  1. 是一个特殊的方法,无返回值,无参数,名字必须跟类名一样
  2. 每一个类,默认拥有一个构造方法,默认不显示
  3. 构造方法也可以带参数
  4. 代码形式 :
    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;
		}
	}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值