java中封装性的简单理解,构造方法和匿名对象

封装性:
    1.封装性就是保证类内部的定义不被外部可见
    2.所有属性都必须使用private封装,封装后的属性如果要被外部所访问,要定义相应的setter和getter方            
      法

    eg:
package day1;
class Book{
   private String title;
   private double price;

    //定义setter方法

    public void setTitle(String title) {
        this.title = title;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    //定义getter方法 只是返回数据
    public String getTitle() {
        return title;
    }

    public double getPrice() {
        return price;
    }
    public void getInfo() {
        System.out.println("图书名称"+title+",价格"+price);
    }
}
public class StudyObject {
    public static void main(String[] args) {
        Book book1 = new Book();//1.申明并实列化对象 

        book1.setTitle("假如给我三天光明");
        book1.setPrice(68.9);

        book1.getInfo();
    }
}

构造方法
    构造方法的定义原则:方法名称与类名称相同,没有返回值声明
    构造方法一直存在,分为有参和无参两种

    class Book {
        public Book(){}//午餐的,无返回值的构造方法
    }
    即使类里面没有写上构造方法,在编译时也会自动生成一个构造方法
    所有的构造方法在new关键字的时候调用一次;普通方法在实列化方法之后可以随意调用

构造方法的重载,方法名绝对不能变,改变的是参数个数和参数类型,必须遵循参数个数升序排列或者降序排列
    
匿名对象    匿名对象由于没有其他对象对其引用,所以只能使用一次,一次之后等待垃圾回收

package day1;

class Books {
    private String title;
    private double price;
    //类中明确定义构造方法,默认的构造将不再生成
    public Books(String t,double p){
        this.title = t;
        setPrice(p);
    }
    //定义setter
    private void setPrice(double p) {
        if(p>0.0){
            this.price = p;
        }
    }

    public void setTitle(String t) {
        this.title = t;
    }
    //定义getter

    public String getTitle() {
        return title;
    }

    public double getPrice() {
        return price;
    }
    //定义方法
    public void   getInfo(){
        System.out.println("书名称"+this.title+",价格"+this.price);
    }
}
public class constructor {
    public static void main(String[] args) {
            Books books = null;
            books = new Books("指环王",89.6);
            books.getInfo();

            //匿名对象
            new Books("指环王",89.6).getInfo();
            //匿名对象由于没有其他对象对其引用,所以只能使用一次,一次之后等待垃圾回收
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值