首先我们要先了解什么是面向对象?
面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。
通俗的来讲面向对象就是我只需要将这个东西用好,至于怎么设计的就不关我的事了。
就像我们开车,只需要怎么学开车,而不需要知道怎么造汽车,
我们玩电脑,只需要怎么玩,而不需要管具体电脑是如何运行的。
所以我们就得知道我们是如何设计出这样一个类。让我们能用面向对象的方法来使用。
类的定义和使用
简单认识类
类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。
比如:洗衣机,它是一个品牌,在Java中可以将其看成是一个类别。
属性:产品品牌,型号,产品重量,外观尺寸,颜色...
功能:洗衣,烘干、定时....
在Java语言中,如何对上述的洗衣机类来进行定义呢?类的定义格式
在java中定义类时需要用到class关键字,具体语法如下
//创建类
class ClassName{
field; //字段(属性)或者 成员变量
method; //行为 或者 成员方法
}
class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类。
具有哪些功能,称为类的成员方法
比如我们用一个冰箱的类来具体说明
class WashMachine{
public String brand;
public String type;
public String Weight;
public String length;
public String high;
public String color;
public void WashCloths(){
System.out.println("洗衣服");
}
public void dryClothes(){
System.out.println("脱水");
}
}
注意事项
类名注意采用大驼峰定义
成员前写法统一为public,后面会详细解释
此处写的方法不带 static 关键字. 后面会详细解释
class Dog
{
public String name;
public String color;
public void barks(){
System.out.println(name+"汪汪汪");
}
public void wag(){
System.out.println(name+"摇尾巴~~~");
}
}
public class Student{
public String name;
public String gender;
public short age;
public double score;
public void DoClass(){
System.out.println(name+"正在做作业");
}
public void DoHomework(){
System.out.println(name+"正在做作业");
}
public void Exam(){
System.out.println(name+"考试成绩为"+score);
}
}
注意事项:
1. 一般一个文件当中只定义一个类
(容易导致类的丢失)
2. main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)(大家都这么干,你不干谁带你玩?)
3. public修饰的类必须要和文件名相同(不然会报错)
4. 不要轻易去修改public修饰的类的名称,如果要修改,通过开发工具修改(在project中找到src,然后找到.java文件,点击鼠标右键,找到Refactor,然后找到Rename)
了解完类我们就该聊聊对象了
我们都说,“没有对象?我来给你new一new”.
这里就是一种玩笑,但是我们对象就是类的实例化
类就相当于你在脑海中对于你对象的抽象概念
比如:对象眼睛要大,身材好,性格好,这些都是类的抽象
但是:当你实例化了才真正拥有这些。
所以我们就要学习类的实例化
定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自
带的内置类型,而类是用户自定义了一个新的类型,比如上述的:PetDog类和Student类。它们都是类(一种新定
义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。
public static void main(String[] args) {
Dog dog1 = new Dog();
Dog dog2 = new Dog();
//类名 对象名 = new 类名();
}
这个时候我们的dog1,也就是对象名,也就是引用变量。
我们同样可以进行赋值。
public static void main(String[] args) {
Student student1 = new Student();
student1.name = "老八";
student1.age = 30;
student1.score = 99.9;
student1.DoClass();
student1.Exam();
student1.DoHomework();
}
我们还可以通过“点”来访问方法和属性;
类和对象的说明
1. 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
2. 类是一种自定义的类型,可以用来定义变量,但是在java中用类定义出来的变量我们成为对象.
3. 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量
4. 做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。