美文网首页
Java零基础自学DAY6 2018-03-18

Java零基础自学DAY6 2018-03-18

作者: Jochen0521 | 来源:发表于2018-03-18 13:01 被阅读0次

    隐藏和封装

    封装

    将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。

    封装的目的:

    *隐藏类的实际细节

    *在方法里加入控制逻辑,限制对成员变量不合理的访问

    *可进行数据检查,从而有利于保证对象信息的完整性

    *便于修改,提高代码可维护性

    为实现良好封装:

    #将对象的成员变量和实现细节隐藏起来,不允许外部直接访问

    #把方法暴露出来,让方法来控制对这些成员变量进行安全访问和操作

    使用访问控制符

    private、protected、public、(default)

    控制级别由小到大:

    private:当前类访问权限,只能在当前类的内部访问,用于修饰成员变量

    default:包访问权限,不使用任何控制符时,默认为default,可以被相同包下的其他类访问

    protected:子类访问权限,可以被不同包中的子类访问,用于修饰方法,通常是希望其子类来重写这个方法。

    pubic:公共访问权限,可以被所有类访问。

    外部类只能使用public和默认

    局部变量不能使用访问控制符来修饰

    如果定义了public修饰的类,则文件名必须与public修饰的类名相同


    定义一个类,实现良好封装:

    类之外只能通过各自对应的setter和getter方法来操作和访问类里的成员变量

    main方法中操作和访问该对象的实例:

    运行结果:

    模块设计追求高内聚、低耦合

    访问控制符使用的基本原则:

    *类里的绝大部分变量都应该用private修饰,只有一些static修饰的类似全局变量的成员变量才考虑public修饰

    *如果某个类主要用作其他类的父类,该类里的大部分方法仅希望被其子类重写,而不想被外界直接调用,则应该使用protected 修饰

    *希望暴露出来给别的类自由调用的方法应该用public修饰,类的构造器通过使用public修饰,从而允许在其他地方创建该类的实例,大部分外部类都是用public修饰

    package、import、import static

    把一个类放在指定的包结构下:

    package packageName;

    一旦源文件中使用了package语句,意味着该源文件里定义的所有类都属于这个包。

    位于包中的每个类的完整类名都应该是包名和类名的组合

    使用如下命令来编译java文件

    javac -d . Hello.java

    -d 选项用于设置编译生成class文件的保存位置,这里将指定生成的class文件放在当前路径,(. 代表当前路径),使用命令编译之后,当前路径没有Hello.class文件,而是多了一个Lee的文件夹,文件夹里有Hello.class文件

    使用带-d选项时的javac命令来编译Java源文件时,会自动建立对应的文件结构来存放

    执行

    java lee.Hello

    如果进入lee路径下运行则错误,而在lee文件夹所在路径运行则正常

    为Java类添加包必须在Java源文件中通过package语句指定,建议源文件和class文件分开存放

    类不在同一个包时,需要使用全名来调用,如lee.Hello,来使用

    相关文章

      网友评论

          本文标题:Java零基础自学DAY6 2018-03-18

          本文链接:https://www.haomeiwen.com/subject/wrleqftx.html