JAVA之类的封装性(上)

本文详细阐述了Java中的类封装概念,包括类的定义、对象创建与操作。通过实例展示了如何使用类修饰符、构造方法(显式与隐式)来实现数据封装和信息隐藏。重点讲解了类的属性操作和如何使用构造函数进行对象初始化。
摘要由CSDN通过智能技术生成

        要谈类的封装性,首先就要清楚什么是类。类是具有相同属性和行为的一组对象集合。而对象是把符合某类标准的一个具体事物成为对象。类似是静态的概念,而对象是动态的概念。也可以说,类是对象的抽象定义,对象是类的具体实例。

        在java中用[类修饰符]class类名{}来进行类的声明,而在类中的方法用[修饰符]返回值类型 方法名称([参数表]){  方法体  } 的形式表示。在类中创建类的对象时要使用new关键字创建类的对象,使用“.”运算符访问对象的属性与方法。

示例:

public class MyDAte
{
    int year,month,day;
    void set(int y, int m,int d)
    {
        year = y;
        month = m;
        day = d;
    }
    void set(MaDate date)
    {
        set(data.year,date.month,data.day);
    }
    public String toString()
    {
        return year+ "年" +month+"月"+day+"日";
    }
    public static void main (String []args)
    {
        MyData d1 = new MaData();
        System.out.println("d1:"+d1.toStrig());
        d1.set(2017,1,1);
        MyData d2 = d1;
        System.out.println("d2:"+d2.toString());
    }
}

        类的封装包含两层含义:1、将数据和对数据的操作包装成一个对象类型,使对象成为包含一组属性和操作的运行单位;2、实现信息隐藏,类既要提供与外部联系的方法,也要尽可能的隐藏类中的某些数据和实现细节,以约束外部的可见性。构造方法分为显式和隐式。显示为可见的构造函数,可以为多个;而隐式构造函数是不可见的,Java编译器添加。例:显式构造方法

public class Teacher {
    int id;
    String name;
    int age;
    boolean ismen;
    String address;

    public Teacher(int id, String name, boolean ismen) {
        this.id = id;
        this.name = name;
        this.ismen = ismen;
    }

    public Teacher(int id, String name, int age, boolean ismen) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.ismen = ismen;
    }
    public Teacher() {
    }//显式构造方法,当有其他带参数的构造方法时,用户自己定义的不带参的构造方法为显示构造方法
    public static void main(String[] args) {
        Teacher lisi=null;
        System.out.println("聲明對象完畢");
        lisi=new Teacher(2,"lisi",22,true);
        System.out.println("創建對象完畢");
        System.out.println();

    }
}

隐式构造方法

public class Teacher {
    int id;
    String name;
    int age;
    boolean ismen;
    //什么都不写默认为隐式构造方法,隐式构造方法不带参数
    public static void main(String[] args) {
        Teacher lisi=null;
        System.out.println("聲明對象完畢");
        lisi=new Teacher();
        System.out.println("創建對象完畢");
        System.out.println();

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值