Java复习——属性的封装与构造方法

    xiaoxiao2021-03-25  108

    一、属性的封装

    1、封装之前:

    class Person{ String name; int age; }

    2、封装之后:

    /** (1)把属性定义为私有的(只能在本类中访问) (2)为属性 提供getter/setter方法 */ class Person{ //private修饰符:表示私有的 private String name; private int age; //属性的读写操作方法 public void setName(String name){ this.name = name; } public String getName(){ return name;//return返回 } }

    二、构造方法

    1、构造方法就是类构造对象时调用的方法,用于对象的初始化工作;构造方法就是实例化一个类的对象时,也就是new的时候最先调用的方法。

    2、构造方法的定义 (1)构造方法是在类中定义的, 构造方法的定义格式:方法名称与类名称相同,无返回值类型的声明。 (2)对象的实例化语法 Duck duck = new Duck(); new Duck后面有个括号表示调用了方法,此时调用的方法就是构造方法了 (3)如果一个类没有定义任何构造方法,在需要时,编译器将会为它生成一个默认构造方法,类似于下面的形式:

    class Duck(){ Duck(){ } }

    3、构造方法重载 在一个类中,构造方法可以重载。与普通方法的重载一样,重载的构造方法必须具有不同的方法原型(即参数个数、参数类型或参数次序不能完全相同)。

    //无参数的构造方法 public Duck(){} //带一个参数的构造方法 public Duck(String name){ this.name = name; } //带多个参数的构造方法 public Duck(String name, char sex){ this.name = name; this.sex = sex; }

    示例:

    /** 构造方法 */ public class ConstructorDemo{ public static void main(String[] args){ //实例化一个对象 Duck d = new Duck(); d.setName("黑黑"); d.setSex('母'); d.song(); //----------带一个参数的构造方法------------ String name = "小黑"; //实例化对象,并调用带一个参数的构造方法 Duck d2 = new Duck(name); //----------带多个参数的构造方法------------ //实例化对象,并调用带多个参数的构造方法 Duck d3 = new Duck("小白", '公'); } } /** 鸭子类 */ class Duck{ private String name; private char sex; //默认构造方法 public Duck(){ System.out.println("我是默认构造方法"); } //带一个参数的构造方法 public Duck(String name){ this.name = name; System.out.println("我是带一个参数的构造方法"); } //带多个参数的构造方法 public Duck(String name, char sex){ this.name = name; this.sex = sex; System.out.println("我是带多个参数的构造方法"); } public void song(){ System.out.println("我叫:" + name + ",我的性别是:" + sex); } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setSex(char sex){ this.sex = sex; } public char getSex(){ return sex; } }
    转载请注明原文地址: https://ju.6miu.com/read-5791.html

    最新回复(0)