Java学习之面向对象四
1、构造方法的格式是什么?有哪些注意事项?
权限修饰符 类名(参数列表){方法体}
注意事项:
构造方法没有返回值类型。也不需要写返回值。因为它是为构建对象的,对象创建完,方法就执行结束。
构造方法名称必须和类型保持一致。
构造方法没有具体的返回值。
2、构造方法可以重载吗? 里边可以有return语句吗?
可以重载 可以有return,但不能有返回。
3、给成员变量赋值有几种方式?有什么区别?
get/set
直接赋值
带参构造器赋值
初始化
static 代码块赋值
默认构造器赋值
4.编写一个完整的Person类,使用this关键字给成员变量进行赋值.
在测试类中测试
public class Person { private String name; private int age; public Person(String name, int age) { 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; } }
/** * 编写一个完整的Person类,使用this关键字给成员变量进行赋值. 在测试类中测试 * @author vanguard * */ public class Test01 { public static void main(String[] args) { Person p = new Person("张三", 30); System.out.println(p.getName() + "---" +p.getAge()); } }
5、根据需求,完成如下代码(按照标准格式写),并在测试类中进行测试。
标准格式包含: 私有属性 无参构造 有参构造 setter 和getter 需求中的方法
需求一:
员工类Employee
属性:姓名name,工号id,工资salary
行为:显示所有成员信息的方法show()
需求二:
动物类Animal
属性:姓名name,年龄age
行为:吃饭eat,睡觉sleep
需求三:
人类Person
属性:姓名name,年龄age,性别gender
行为:学习study,睡觉sleep
/** 员工类Employee 属性:姓名name,工号id,工资salary 行为:显示所有成员信息的方法show() * @author vanguard * */ public class Employee { private String name; private String Id; private int salary; public Employee() { } public Employee(String name, String Id, int salary) { this.name = name; this.Id = Id; this.salary = salary; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return Id; } public void setId(String id) { Id = id; } public int getSalary() { return salary; } public void setSalary(int salary) { this.salary = salary; } public void show() { System.out.println(name + "---" + Id + "---" + salary); } }
/** * 动物类Animal 属性:姓名name,年龄age 行为:吃饭eat,睡觉sleep * @author vanguard * */ public class Animal { private String name; private int age; public Animal() {} public Animal(String name, int age) { 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; } public void eat() { System.out.println("动物吃饭"); } public void sleep() { System.out.println("动物睡觉"); } }
/** * 动物类Animal 属性:姓名name,年龄age 行为:吃饭eat,睡觉sleep * @author vanguard * */ public class Animal { private String name; private int age; public Animal() {} public Animal(String name, int age) { 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; } public void eat() { System.out.println("动物吃饭"); } public void sleep() { System.out.println("动物睡觉"); } }
/** * 测试类 * @author vanguard * */ public class Test { public static void main(String[] args) { Employee em = new Employee("张三", "001", 5000); em.show(); Animal a = new Animal("小白", 2); a.eat(); a.sleep(); Person p = new Person("李四", 20, "男"); p.study(); p.sleep(); } }