本人已参与「新人创作礼」活动,一起开启掘金创作之路。
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情
目录
今天阿文介绍的内容:
- Java对象和类
- 构造方法
- 创建对象
1.Java对象和类
Java作为一种面向对象语言。支持以下9种基本概念:
- 多态
- 继承
- 封装
- 抽象
- 类
- 对象
- 实例
- 方法
- 重载
阿文先来讲解一下类和对象这两个概念
对象:此对象非彼对象,对象是一个类的实例,它有状态和行为。例如,黑色马是一个对象,而马这种动物是一个类,它的状态有:颜色、名字、品种;行为有:奔跑、吃、叫等。类:类是一个模板,它描述一类对象的行为和状态,
如上图一样,这五个女孩是对象,而女性是一个类,而这五个女孩的肤色、发型、穿搭、动作等都不一样,这既是对象的行为与状态,女性类包含有肤色、发型、穿搭、动作等多种属性和行为,它只是一个模板,具体的肤色是黄还是白,发型是长发还是短发等,是由对象所决定的。
1.1Java中的对象
观察周围真实事件,会发现身边有很多对象,例如:车、狗、人、树等等。所有这些对象都具有自己的状态和行为。
拿一辆车来说,它的状态有:车的颜色、车的品牌、车的年限等,行为有:加速、倒车、加油等
在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。
1.2Java中的类
在Java中类可以看成是创建对象的模板。每个对象都具有类中的所有属性和方法,但具体是什么就取决于对象。
可以创建一个简单的Java类,来进一步理解类与对象
public class Dog {
String breed; //品种
int size; //大小
String colour; //颜色
int age; //年龄
void eat() { //吃
}
void run() { //跑
}
void sleep() { //睡觉
}
void name() { //名字
}
}
一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。
在上面例子中:eat(),run(),sleep()和name()都是Dog类的方法
2.构造方法
每个类都有构造方法,如果没有显示地为类定义构造方法,则Java编译器会为该类隐式的提供一个默认无参构造方法
在创建一个对象的时候,至少要调用一个构造方法。构造方法的构造名必须与类名相同,且没有返回数,一个类可以有多个构造方法(方法的重载)。
下面是一个例子:
public class Dog {
//无参构造器
public Dog() {
}
//有参构造器仅有一个参数:breed
public Dog(String breed) {
}
}
3.创建对象
对象是根据类创建的。在Java中,使用关键字 new 关键字来创建一个新的对象。创建对象需要以下三步:
声明:声明一个对象,包括对象的类型和名称实例化:使用关键字new来创建对象初始化:使用new创建对象时,会调用构造方法对对象进行初始化
下面是一个例子:
public class Dog {
public Dog(String breed) {
System.out.println("小狗的品种是:" + breed);
}
public static void main(String[] args){
// 下面的语句将创建一个Dog对象
Dog sheepDog = new Dog( "sheepDog" );
}
}
输出结果为:
3.1访问实例变量和方法
通过已创建的对象来访问成员变量和成员方法
例如:
public class Dog {
int dogAge;
public Dog(String breed) {
System.out.println("小狗的品种是:" + breed);
}
public void eat() {
System.out.println("小狗正在吃饭");
}
public void setAge( int age ){
dogAge = age;
}
public int getAge( ){
System.out.println("小狗的年龄为 : " + dogAge );
return dogAge;
}
public static void main(String[] args){
// 下面的语句将创建一个Dog对象
Dog sheepDog = new Dog( "sheepDog" );
//通过方法设置小狗的年龄
sheepDog.setAge(2);
//通过方法获取小狗的年龄
sheepDog.getAge();
//调用小狗吃饭的方法
sheepDog.eat();
}
}
输出结果为:
总结
- Java的对象和类是两个不同的概念
- 类当中的构造方法是在创建对象时自动调用的函数
- 创建对象的基本语句
好了,今天阿文就介绍到这里了... byebye