java中的类和对象

类是面向对象的,一切我们只是定义一类事物,不是面向过程的。

Java中简单的构造一个类
一个类中一般有:属性,方法,代码块,接口
这篇博客中只简单阐述类中的属性
属性一般有三种:public,private,protected

public是公有属性,是比较容易访问且易被改变

class Person {    public String name;   // 字段    public int age; }
class Test {    public static void main(String[] args) { 
  Person person = new Person();        System.out.println(person.name);        System.out.println(person.age); 
} 
}

private是私有属性,一般需要构造方法,才可以被发访问,set一般是进行赋值,而get就是访问这个属性。

public class Book {
    private String name;
    private String num;//编号
    private float price;//价格

public Book(String name,String num,float price) {
    setName(name);
    setNum(num);
    setPrice(price);
}
public String getName() {
    return name;
}
public void setName(String name) {
        this.name = name;
    }
    public String getNum() {
        return num;
    }
    public void setNum(String num) {
        this.num = num;
    }
    public float getPrice() {
        return price;
    }
    public void setPrice(float price) {
        if (price > 0) {
            this.price = price;
        }
    }
}

方法可以理解为一个类所表达的东西可以干那些事
比如
书店卖书,书店卖书就是一种方法

public class BookStore {
    private String bookName;//店名、
    private String address;
    private Book[] books;
    public BookStore(String bookName,String address,Book[] books) {
    setBookName(bookName);
    setAddress(address);
    setBooks(books);
}
public String getBookName() {
    return bookName;
}
public void setBookName(String bookName) {
    this.bookName = bookName;
}
public String getAddress() {
    return address;
}
public void setAddress(String address) {
    this.address = address;
}
public Book[] getBooks() {
    return books;
}
public void setBooks(Book[] books) {
    this.books = books;
}

//卖一本书
//两个参数,一个是顾客,一个是顾客买的书
public void sellABook(Customer customer,Book book) {
    if(customer.getMoney() >= book.getPrice()) {
        //需要判断顾客的钱是否够买
        for (int i = 0; i < books.length; i++) {
            if(books[i] != null) {
                //假定书店中所有书不重名
                if(books[i].getName().equals((book.getName()))) {
                    books[i] = null;//对应的书籍对象设为空
                    customer.setMoney(customer.getMoney() - book.getPrice());
                    //处理顾客的余额
                    System.out.println(customer.getName() + "买了" + book.getName() + "这本书");
                    System.out.println(customer.getName() + "剩下" + customer.getMoney() + "元");
                    break;
                }
            }
        }

    } else {
        System.out.println(customer.getName() + "的钱不够买这本" + book.getName());
    }
}

顾客类

public class Customer {
    private String name;
    private String sex;
    private float money;
    public Customer(String name,String sex,float money) {
    setName(name);
    setSex(sex);
    setMoney(money);
}
public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public float getMoney() {
        return money;
    }
    public void setMoney(float money) {
        if(money > 0) {
            this.money = money;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值