面向对象(二)类的定义和实例化

面向对象设计的过程就是抽象的过程,一般分为三步:
(1)发现类,类定义了 对象将会用用的特征(属性)和行为(方法)。
(2)发现类的属性,对象所拥有的静态特征
(3)发现类的方法,对象执行的操作称为类的方法
举个栗子:
猫类有会喵喵叫,长得可爱,长着爪子,会抓老鼠,爱吃鱼,各种各样的毛色,不同长度的毛发等特征。那么我们可以把拥有这类特征的动物都归为猫类。
那么猫类的特征:毛色,毛长,年龄,名字,性别。
猫类的行为:叫,吃饭,跑,跳等。
如何用Java思想来创建一个类呢?

一、定义类

语法格式:
[访问修饰符] class 类名{
//属性
//方法
}
注:
·访问修饰符如public、private是可选的,具体含义后面会讲到
·class是声明类的关键字
·按照命名规范,类名
首字母大写

public class Cat{
	//属性
	//方法
}

二、属性

猫类的静态特征:毛色,毛长,年龄,名字,性别。
语法格式:
[访问修饰符] 数据类型 属性名;
注:
·访问修饰符可选
·除了访问修饰符外,其他的语法格式和声明变量类似

例如:

public class Cat{
	//毛色,毛长,年龄,名字,性别
	public String color;//毛色
	public String length;//毛长:长/短
	public int age;//年龄
	public String name;//名字
	public String sex;//性别
	
}

三、方法

猫类的动态行为:叫,吃饭,跑,跳等。
语法格式:
[访问修饰符] 返回类型 方法名称(参数列表){
//属性
//方法
}
注:
·访问修饰符可选
·返回值类型可以是void,表示该方法无返回值。若有返回值,在方法体中必须使用return关键字返回对应类型的结果。
·是否传参根据具体业务逻辑来定,需要传递多个参数时,参数之间使用英文半角格式的逗号进行分隔。
示例:

public class Cat{

	//叫
	public void say(){
		System.out.print("我是一只小猫,我叫"+name+",我是一只小"+sex+"猫,今年"+age+"岁了");
	}
	//吃  带参方法
	public void eat(int num){
		System.out.print("小猫吃了"+num+"条鱼");
	}
	//跑 带有返回值
	public String run(double length){
		return "小猫跑了"+length+"米";
	}
	//跳
	public void jump(){
		System.out.print("小猫可以跳很高");
	}
}

示例:
在“猫”类中定义方法,描述小猫的特征和行为。

public class Cat{

	public String color;//毛色
	public String length;//毛长:长/短
	public int age;//年龄
	public String name;//名字
	public String sex;//性别
	
	//叫
	public void say(){
		System.out.print("我是一只小猫,我叫"+name+",我是一只小"+sex+"猫,今年"+age+"岁了");
	}
	//吃  带参方法
	public void eat(int num){
		System.out.print("小猫吃了"+num+"条鱼");
	}
	//跑 带有返回值
	public String run(double length){
		return "小猫跑了"+length+"米";
	}
	//跳
	public void jump(){
		System.out.print("小猫可以跳很高");
	}
}

四、类的实例化(创建和使用对象)

类是一类事物的集合和抽象,代表这类事物共有的属性和行为。一个对象称为类的一个实例,是类一次实例化的结果。例如我家的小猫“蜜蜜”是猫类的一个具体对象。
创建对象的语法格式:
(1)创建对象

类名  对象名 = new  类名();

注:
·new是关键字。
·左边的类名为对象的数据类型。
·右边的类名()称为类的构造方法。

示例:创建猫类的具体对象。

Cat mimi = new Cat();

(2)使用对象
使用对象的语法格式:

对象名.属性名;//引用对象的属性(我们把一类事物的静态特征统称为它的属性)
对象名.方法名();//引用对象的方法

示例:创建一个小猫的对象,并为其属性赋值,调用其方法

public class Test1 {
    public static void main(String[] args) {
        Cat mimi = new Cat();
        mimi.age = 3;
        mimi.name = "蜜蜜";
        mimi.sex = "公";
        mimi.color = "橘";
        mimi.length = "长毛";
        mimi.say();
    }
}

输出结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值