• 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();
            
        }
    }
  • 相关阅读:
    Java多线程系列--“基础篇”11之 生产消费者问题
    Java多线程系列--“基础篇”10之 线程优先级和守护线程
    Java多线程系列--“基础篇”09之 interrupt()和线程终止方式
    Java多线程系列--“基础篇”08之 join()
    Java四种线程池的使用
    数据库索引的实现原理
    Java多线程系列--“基础篇”07之 线程休眠
    Java多线程系列--“基础篇”06之 线程让步
    Java多线程系列--“基础篇”05之 线程等待与唤醒
    Java多线程系列--“基础篇”04之 synchronized关键字
  • 原文地址:https://www.cnblogs.com/guodong-wang/p/7185809.html
Copyright © 2020-2023  润新知