Java面向对象基础知识(第五天)

1.构造器

1.构造器的作用?
用于初始化一个类的对象,并返回对象的地址。(Car c = new Car( ));这个Car();就是一个简单的构造器。
2.构造器的定义格式?
修饰符 类名(形参列表){

}
3.构造器的分类
(1)无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。
(2)有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。
举个例子:

public class Car {
    
    
    String CarName;
    double price;

    //  无参数构造器
    public Car(){
    
    
         //这里定义的内容
    }
    // 有参数构造器
    public Car(String n, String b){
    
    
        // 这里输入内容
    }
}

4.初始化对象的格式
类型 变量名称 = new 构造器;
Car c = new Car( );
5.注意事项
(1)任何类定义出来,默认就自带了无参数构造器,写不写都有。
(2)一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写一个无参数构造器了。

2.总结

1.构造器的作用?
答:初始化类的对象,并返回对象的地址。
2.构造器有几种,各自的作用是什么?
答:无参数构造器:初始化的对象时,成员变量的数据均采用默认值。
有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。
3.构造器有哪些注意事项?
任何类定义出来,默认就自带了无参数构造器,写不写都有。
一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。

3.封装

面向对象的三大特征:封装、集成、多态。
什么是封装?隐藏实现细节,暴露出合适的访问方式。(合理隐藏,合理暴露)
可能你到这里会问了,为什么要用封装?
看个例子:
在这里插入图片描述
这里如果不用封装,然后我们给年龄赋一个 -23的年龄还是可以的。
1.封装的实现步骤
(1)一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问。
(2)提供public修饰的公开的getter、setter方法暴露其取值和赋值。

public class Student {
    
    
    private int age;
    public int getAge(){
    
    
        return age;
    }
    public void setAge(int age){
    
    
        if (age >= 0 && age <= 200){
    
    
            this.age = age;
        }else{
    
    
            System.out.println("请检查年龄数值");
        }
    }
}

封装的好处:
加强了程序代码的安全性。
适当的封装可以提升开发效率,同时可以让程序更容易理解与维护。

4.总结

1.封装是什么,一般封装怎么体现出来?
(1)面向对象的三大特征之一,合理隐藏,合理暴露
(2)一般会把成员变量使用private隐藏起来。
(3)通过getter和setter方法暴露其访问。
2. 封装有什么好处?
(1)加强了程序代码的安全性。
(2)适当的封装可以提升开发效率,同时可以让程序更容易理解和维护。

5.JavaBean

也可以理解成实体类,其对象可以用于在程序中封装数据。
1.标准JavaBean须满足如下要求:
(1)成员变量使用private修饰。
(2)提供每一个成员变量对应的setXxx()/getXxx()。
(3)必须提供一个无参构造器。

public class User {
    
    
    // 1、成员变量私有
    private String name;
    private double height;
    private double salary;

    // 2、必须提供成套的getter和setter方法暴露成员变量的取值和赋值

    public void setName(String name) {
    
    
        this.name = name;
    }

    public void setHeight(double height) {
    
    
        this.height = height;
    }

    public void setSalary(double salary) {
    
    
        this.salary = salary;
    }

    public String getName() {
    
    
        return name;
    }

    public double getHeight() {
    
    
        return height;
    }

    public double getSalary() {
    
    
        return salary;
    }
}

6.用有参和无参构造器创建对象

public class Test1 {
    
    
    public static void main(String[] args) {
    
    

        //1、调用无参数构造器创建对象
        User U = new User();
        u.setName("吴彦祖");
        u.setHeight(185.2);
        u.setSalary(1000);
        System.out.println(u.getName());
        System.out.println(u.getHeight());
        System.out.println(u.getSalary());

        // 2、调用有参数构造器创建对象
        User u2 = new User(name "anganlbaby", height 169.5 ,sarary 1000);
        System.out.println(u2.getName());
        System.out.println(u2.getHeight());
        System.out.println(u2.getSarary());
    }
}

总结:黑马程序员Java开课第一天,以后就更新每天学习的知识。

猜你喜欢

转载自blog.csdn.net/tyloonulinuli/article/details/121621853