2020.5.7第十周上机练习
1、请按照以下要求设计一个学生类Student,并进行测试。
要求如下:
1)Student类中包含姓名、成绩两个属性
2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.
3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值
package kksk; public class kksk { String name = new String(); double achievement; public void Student() { } public void Student(String name, double achievement) { this.name = name; this.achievement = achievement; } void set(String name, double achievement) { this.name = name; this.achievement = achievement; } void get() { System.out.println("该学生姓名为:" + name); System.out.println("该学生成绩为:" + achievement); } }
package kksk; public class kksks extends kksk { public static void main(String[] args) { // TODO Auto-generated method stub Student A=new Student(); A.set("李四",100); A.get(); Student B=new Student(); B.get(“张三”,70); } }
2、请编写一个程序,该程序由两个类组成,一个Person类,一个Test类。在Person类中定义一个无参构造方法,里面 输出一句话:”无参的构造方法被调用了...”。并在测试类中进行测试。
class kksk{ public static void main(String[] args) { person p=new person(); } } public class person { private String Name; private int Age; public person() { System.out.println("无参的构造方法被调用了..."); }
3. 使用java类描述一个车类,车都具备名字、颜色两个属性,还具备跑的功能。 请设计一个汽车类Car,该类中包含 两个属性姓名(name)、颜色(color),一个用于描述汽车跑的run()方法。
package kksk; public class kkskk { String name; String color; public void run(){ System.out.println("run..."); } public void Name(String name) { this.name = name; } public void Color(String color) { this.color = color; } } package kksk; import java.util.*; public class use_kkskk { public static void main(String[] args) { // TODO Auto-generated method stub Car p = new Car(); Scanner sc = new Scanner(System.in); System.out.println("输入车名"); String name = sc.next(); System.out.println("输入颜色"); String color = sc.next(); p.run(); //调用对象的run功能 } }
4. 编写一个类,类中定义一个静态方法,用于求两个整数的和。 请按照以下要求设计一个测试类Demo,并进行测试。 要求如下:
1)Demo类中有一个静态方法get(int a,int b)该方法用户返回参数a、b两个整数的和;
2)在main()方法中调用get方法并输出计算结果。
package kksk; import java.util.Scanner; public class kksk { public static int get(int a, int b) { return a+b; } public static void main(String args[]){ int a,b; Scanner sc=new Scanner(System.in); System.out.println("输入第一个数"); a=sc.nextInt(); System.out.println("输入第二个数"); b=sc.nextInt(); System.out.println("他们的和是:" + get(a,b)); } }
5.说一下什么是封装, 使用封装的好处。什么是get,set访问器
封装:指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
封装的好处: ①:提高了数据的安全性;别人不能够通过 变量名.属性名 的方式来修改某个私有的成员属性
②:操作简单;封装后,多个调用者在使用的时候,只需调用方法即可,调用者不需要再进行判断
③:隐藏了实现;实现过程对调用者是不可见的,调用者只需调用方法即可,不需要具体实现过程
set访问器:通该方法,将封装的属性赋值
get访问器:得到封装属性返回的值