Java 面向对象

类和对象

:一个具有所有相同属性的合,试想一下生物物种的概念,类与之类似,比如对于猫来说,所有的猫是一个物种,那么类似的猫可以成为一个类,猫所具备的所有行为(可以做什么)、属性(是什么样的)就是类所包含的特征(对于属性可以称之为成员变量)

对象:对象就是一个具体的实例,按以上的类比来说,一只猫就是一个对象
那么类可以看做一个模板,这个模板上有很多的属性,对象就是这个模板带上了具体的值,变得有了具体意义

在java中用关键字class声明类(一般来说一个文件有一个类,但实际中代码不多的情况下可以就放在一个文件里)
代码体现如下(访问类的第一种方法):

//    创建了一个类,它的名字叫Cat表示猫类
class Cat{
//    属性有 名字 毛色 腿数 猫眼类型 
//    这里没有用修饰符默认为public其他类可以访问它
//    如果private String nameCat;这样修饰则这些属性只能在Cat类里使用
    String nameCat,coloursCat,feetCat,eyesType;
//    行为有 猫叫
    void Cry(){
        System.out.println("喵喵喵");
    }
}
public class MyMainClass{
    public static void main(String[] args) {
        Cat cat = new Cat();// 这里Cat没传参数表示新建了一个对象是一只猫,但是它的属性不知
        // 赋予猫的名字
        cat.nameCat = "布丁";
        // 赋予猫的毛色
        cat.coloursCat = "狸花";
        // 赋予猫的腿数
        cat.feetCat = "4条";
        // 赋予猫眼的颜色
        cat.eyesType = "蓝色";
        System.out.println("名字:"+cat.nameCat+" 毛色:"+cat.coloursCat
                +" 腿数:"+cat.feetCat+" 猫眼颜色:"+cat.eyesType);
        // 赋予猫的行为猫叫
        cat.Cry();
    }
}

第二种方法 – 构造函数
关于构造函数之后会细说,一般都用这种方法初始化对象
Jdk中工具类的对象初始化几乎都是这种

public class MyMainClass{
    public static void main(String[] args) {
	// 传递参数给构造函数
        Cat cat = new Cat("布丁","狸花","4条","蓝色");
        System.out.println("名字:"+cat.nameCat+" 毛色:"+cat.coloursCat
                +" 腿数:"+cat.feetCat+" 猫眼颜色:"+cat.eyesType);
        // 猫的行为猫叫
        cat.Cry();
        Dog dog = new Dog("豆丁","白色","4条");
        System.out.println("名字:"+cat.nameCat+" 毛色:"+cat.coloursCat +" 腿数:"+cat.feetCat);
        // 狗的行为狗叫
        dog.Cry();
    }
}
//猫类
class Cat{
    //    属性有 名字 毛色 腿数 猫眼类型
//    同样如果这里用private修饰则这些属性不能被其他类访问
    String nameCat,coloursCat,feetCat,eyesType;
	//    构造函数规定与类同名
    public Cat(String nameCat,String coloursCat,String feetCat,String eyesType){
        this.nameCat = nameCat;
        this.coloursCat = coloursCat;
        this.feetCat = feetCat;
        this.eyesType = eyesType;
    }
    //    行为有 猫叫
    void Cry(){
        System.out.println("喵喵喵");
    }
}

第三种方法 set/get
所谓set和get方法其实是指给类的每个属性创建赋值(set)方法和访问获取(get)方法,让其他的类通过这些方法来拿值
这种方法更多的拿来传递数据,

public class MyMainClass{
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.setNameCat("布丁");
        cat.setColoursCat("狸花");
        cat.setFeetCat("4条");
        cat.setEyesType("蓝色");
        System.out.println("名字:"+cat.getNameCat()+" 毛色:"+cat.getColoursCat()
                +" 腿数:"+cat.getFeetCat()+" 猫眼颜色:"+cat.getEyesType());
        // 猫的行为猫叫
    }
}
//猫类
class Cat{
    //    属性有 名字 毛色 腿数 猫眼类型
    String nameCat,coloursCat,feetCat,eyesType;
    public String getNameCat() { return nameCat; }
    public void setNameCat(String nameCat) { this.nameCat = nameCat; }
    public String getColoursCat() { return coloursCat; }
    public void setColoursCat(String coloursCat) { this.coloursCat = coloursCat; }
    public String getFeetCat() { return feetCat; }
    public void setFeetCat(String feetCat) { this.feetCat = feetCat; }
    public String getEyesType() { return eyesType;}
    public void setEyesType(String eyesType) { this.eyesType = eyesType;}
    //    行为有 猫叫
    void Cry(){
        System.out.println("喵喵喵");
    }
}

按Alt + insert然后选Getter and Setter,然后选择定义好的变量可以快速的创建方法
在这里插入图片描述

如果是使用的eclipse,右键选source,然后选Generate Getter and Setters,再选择定义好的变量可以快速创建方法
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值