Java-实验9 面向对象特征一:封装

实验9 面向对象特征一:封装

一、实验目的

1. 掌握封装的概念。

2. 掌握封装的实现思路和方法.

二、实验内容

1.请指出下面代码中存在的错误,并说明错误原因。

01class Teacher1 {
02public Techer1() {} 

03}
04
05class Teacher2 {
06public void Teacher2(String name) {}//普通函数

07}
08
09public class TeacherTest {
10public static void main(String[] args) {
11Teacher1 t1 = new Teacher1();
12Teacher2 t2 = new Teacher2("Mr lee");//不存在带参数的构造方法
13}
14}

2.请编码实现需求:
使用封装的思路编写一个类Student1,代表学员,要求:
1)具有属性:姓名、年龄,其中年龄不能小于16岁,否则输出错误信息。
2)具有方法:自我介绍,负责输出该学员的姓名、年龄。

编写测试类Student1Test进行测试,看是否符合要求。

package cn.test;
import java.util.Scanner;
public class Student1Test {
    public static void main(String[] args){
       Student1 st=new Student1("小明",12);
    st.introducation();
    }
  public static class Student1{
    	private String name;
    	private int age;
    	public Student1(String nm,int ag){
    		name=nm;
    		age=ag;
    		
    	}
    	public void introducation(){
    		System.out.println("姓名:"+name);
    		if(age<16){
    			System.out.println("输入的年龄不合要求!");
    			
    		}else{
    			System.out.println("页数:"+age);
    		}
    	   
    	}
    	
    }
}

3.请编码实现需求:
使用封装的思路编写一个类Student2,代表学员,要求:
1)具有属性:姓名、年龄、性别、专业。
2)具有方法:自我介绍,负责输出该学员的姓名、年龄、性别以及专业。
3)具有两个带参数的构造方法:
    第一个构造方法中,设置学员的性别为男、专业为HENU,其余属性的值由参数给定。
    第二个构造方法中,所有属性的值都有参数给定。
编写测试类Student2进行测试,分别以两种方式完成对两个Student2对象的初始化工作,并分

别调用它们的自我介绍方法,看看输出是否正确。

package cn.test;
import java.util.Scanner;
public class Student2Test {
    public static void main(String[] args){
       Student2 st=new Student2("小明",12);
       st.introducation();
       Student2 st1=new Student2("小红",36,"女","电子电气");
       st1.introducation();
    }
  public static class Student2{
    	private String name;
    	private int age;
    	private String sex;
    	private String poss;
    	public Student2(String nm,int ag){
    		name=nm;
    		age=ag;
    		sex="男";
    		poss="计算机";
    	}
    	public Student2(String nm,int ag,String sx,String po){
    		name=nm;
    		age=ag;
    		sex=sx;
    		poss=po;
    	}
    	public void introducation(){
    		System.out.println("姓名:"+name+" 性别:"+sex+" 专业:"+poss);
    		if(age<16){
    			System.out.println("输入的年龄不合要求!");
    			
    		}else{
    			System.out.println("页数:"+age);
    		}
    	   
    	}
    	
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值