文章目录
前言
面向对象思想在Java程序设计中是非常重要的,那么面向对象到底是怎么回事呢?(如有错误还请谅解,欢迎大家斧正,这是我的第一篇文章,写博客主要是记录我自己的学习笔记,并且希望能够帮助到有需要帮助的人!若喜欢请点个免费的赞吧!)
1、面向对象的基本概念:以对象为单位,通过调度组合不同的对象来完成一个事情
2、根据上面的面向对象对象的概念,我们对面向对象的认识还是含糊不清,那么什么才
是面向对象呢?
在认识面向对象之前我们得先知道类和对象,我们都知道有句话说的是“物与类聚,人与群分”,在现实生活中我们都可以根据不同的分类规则将我们身边的事物进行分类,相同的道理,在java中我们也可以根据不同的需求将其进行分类;类就是一组具有相同特性(属性)与行为(方法)的事物集合,是共性的产物,是综合的特征(人类、洗衣机类……),而对象就共性产物的个性个体(男人、女人、全自动洗衣机、半自动洗衣机)。
在此,我们举个简单的例子来说明面向对象的概念,比如我们现在有一堆脏衣服,现在需要去洗衣服,我们就有两个洗衣服的方案:第一个就是通过手洗,将衣服放进盆里,加入水,放洗衣液……我们这样一个一个步骤的实行,其实就是我们的面向过程的思想;第二种方案就是将衣服放入洗衣机(全自动的)设定好洗衣模式,其他的就交给洗衣机来完成,到时间直接去取衣服,我们不需要管洗衣服的过程,以对象为单位统一调度来完成洗衣服这一个件事情,这就是面向对象的思想。
3、类和对象的定义格式:
类:class 类名 {
属性1;
属性2;
方法
……
}
对象的定义:类名 对象名 = new 类名();如 Dog dog = new Dog();
匿名对象:匿名对象顾名思义就是没有名字,而且只能是使用一次,在使用完后就会该对象就会被释放,使用方法:new Dog().eat();
4、对象在内存中的结构:
Dog dog = new Dog();
5、对象间的赋值
Dog dog1 = null ;
Dog dog2 - null;
dog1.name = “小黄”;
dog1.age = 4;
dog2 = dog1;
dog2.name = “大黄”;
System.out.println(dog1.name);
此时输出的是应是“大黄”,分析如下:
因此最后输出的是大黄
6、类与对象总结:
(1)class关键字表示创建一个类,在该类中可以写入该类的属性和方法;
(2)new 关键字表示向内存申请空间,也表示实例化一个对象,创建一个对象;
(3)一个对象在内存中的大小由该对象的所有属性所占的内存大小总和,应用类型变量在32位系统上占4个字节,在64位系统上占8个字节,再加上额外的对象隐性数据所占的大小;
(4)不同的引用在指向同一个对象时,任何一个引用改变对象的值,其他引用也会随之改变;
(5)在编程时要注意,在确定不再使用对象时要尽早释放对象(引用 = null),目的是释放资源,节省空间;
(6)当一个在堆中的对象没有被任何引用指向时,该对象就会被JVM的GC程序当作垃圾对象回收