《JAVASE系列》 类和对象篇:初步认识类与对象
文章目录
- 《JAVASE系列》类和对象篇:初步认识类与对象
《JAVASE系列》类和对象篇:初步认识类与对象
前言
本章需要掌握的知识点:
- 掌握类的定义方式以及对象的实例化
- 掌握类中的成员变量和成员方法的使用
- 掌握对象的默认初始化
参考书籍:《JAVA核心卷1》
你若盛开,清风自来。
1.认识面向对象
1.1 面向对象是什么?
java是一门纯面向对象的编程语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的编程思想去设计程序,对与大型程序的设计与维护都是十分友好的。
1.2 面向对象与面向过程:
-
面向过程:
面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现c语言就是一门面向过程语言。
优点:性能高
缺点:不易维护也不易扩展
-
面向对象
面向对象是模块化的,在解决一个问题时,是直接用一块一块模块来分工解决的,一个模块实现一个功能,我们不需要知道模块的实现,只需要使用模块来解决我们的问题
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护。
缺点:由于调用类的时候需要实例化对象,会消耗资源,在性能方面比面向过程差。
-
简单理解两者的区别:
面向过程是我们想要吃饭,我们需要自己去买菜,洗菜,做饭等等
面向对象是我们想要吃饭,我们去饭店直接吃饭就行。
2.类的定义
2.1类是什么?
类是对一个事物的抽象,类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性,哪些功能。
2.2类的定义格式:
class Classname{ // 成员变量 (属性) // 成员方法 (行为)}
class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
类中包含的内容称为类的成员。属性主要是用来描述类的,方法是用来描述类的功能的。
例如:
定义一个微波炉:
class Microwave { public String brand; // 品牌 public String type; // 型号 public double weight;// 重量 public double lenght;// 长 public double weidth;// 宽 public double height;// 高 public String color; // 颜色 public void warm(){ System.out.println("加热"); } public void keep(){ System.out.println("保温"); }}
代码风格要求: 类名采用大驼峰命名
方法名前面不再加上static,后面介绍。
注意:
-
一般一个文件当中只定义一个类
-
main方法所在的类一般要使用public修饰
(注意:Eclipse默认会在public修饰的类中找main方法)
-
public修饰的类必须要和文件名相同
-
不要轻易去修改public修饰的类的名称,如果要修改,通过开发工具修改
如何修改:
3.类的实例化
3.1实例化是什么?
定义了一个类,就相当于在计算机中定义了一种新的类型。本质上int double类型也是java的类型,但是它们是java内置的类型,而我们上面自定义的类Microwave是我们自定义的类型,有了自定义类型之后,我们就可以对类型进行实例化。
例如:
class Microwave { public String brand; // 品牌 public String type; // 型号 public double weight;// 重量 public double lenght;// 长 public double weidth;// 宽 public double height;// 高 public String color; // 颜色 public void warm(){ System.out.println("加热"); } public void keep(){ System.out.println("保温"); }}
public class Main{ public static void main(String[] args) { Microwave m1 = new Microwave();//通过new实例化对象 Microwave m2 = new Microwave();//通过new实例化对象 Microwave m3 = new Microwave();//通过new实例化对象 Microwave m4 = new Microwave();//通过new实例化对象 m1.weidth = 10; m1.lenght = 20; m1.color = "red"; m1.warm(); m1.keep(); }
运行结果:
如代码,m1,m2,m3,m4就是我们对Microwave的实例化。
同时我们也可以访问对象的成员。
注意:
-
new 关键字用于创建一个对象的实例。
语法规则:
类名 对象名 = new 类名();
-
同一个类可以创建对个实例。
-
使用 . 来访问对象中的属性和方法。
3.2类与对象的关系
- 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
- 类是一种自定义的类型,可以用来定义变量,但是在java中用类定义出来的变量我们成为对象.
- 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量.
java中以类为类型的变量是引用类型,存的是该对象的地址。
例如:
class Microwave { public String brand; // 品牌 public String type; // 型号 public double weight;// 重量 public double lenght;// 长 public double weidth;// 宽 public double height;// 高 public String color; // 颜色 public void warm(){ System.out.println("加热"); } public void keep(){ System.out.println("保温"); }}
public class Main{ public static void main(String[] args) { Microwave m1 = new Microwave();//通过new实例化对象 }
3.3 成员变量的默认值
在JAVA的main函数中,变量不进行初始化是无法进行使用。
在java的类中,成员变量并没有进行初始化就可以直接使用。JVM虚拟机会给他们赋值一个默认值。如下:
代码示例:
class Microwave { public String brand; // 品牌 public String type; // 型号 public double weight;// 重量 public double lenght;// 长 public double weidth;// 宽 public double height;// 高 public String color; // 颜色 public void print(){ System.out.println(brand+" "+type+" "+weidth+" "+lenght+" "+weidth+" "+height+" "+color); }}
public class test { public static void main(String[] args) { Microwave m1 = new Microwave();//通过new实例化对象 m1.print(); }}
运行结果:
总结:
本章主要通过介绍面向对象的思想,以及面向对象与面向过程的差别,如何定义类和实例化对象,以及类成员变量的默认初始化。
感谢阅读!
与君共勉!