黑马程序员——类与对象

-------  android培训 java培训 、期待与您交流! ---------- 1、面向对象概述:
面向对象程序(Object-oriented programming,OOP)设计是继面向过程又一具有里程碑意义的编程思想,是现实世界模型的自然延伸。早期的面向过程编程范式是以过程为中心,以算法为驱动,其设计思想为:程序=算法+数据结构。
与之不同,面向对象的设计思想为:程序=对象+消息传递。
面向过程强调的是每一个功能的步骤;面向对象强调的是对象,然后由对象去调用功能。如果在软件开发过程中需求发生改变那么采用面向过程设计思想的代码的改动会很大,不利于软件的后期维护和扩展。而在面向对象开发中,就是不断的创建对象,使用对象,然后指挥对象做事情。对象之间通过“消息”进行通讯。面向对象设计使程序更容易扩展,也更加符合现实世界的模型。
2、类与对象:

类是构造对象的模板或蓝图,是一组相关的属性和行为的集合,是一个抽象的概念。对象是类的实例化的产物,该类事物的具体表现形式,具体存在的个体。

3、类的定义使用:

定义一个类后,就可以开始创建类的实例了,创建类的实例通过new关键字完成。实例如下:

[java]  view plain copy
  1. class ColorDefine {  
  2.     String color="黑色";  
  3.       
  4.     void getMes(){  
  5.         System.out.println("定义类");  
  6.     }  
  7.     public static void main(String[] args) {  
  8.         // TODO Auto-generated method stub  
  9.         ColorDefine b=new ColorDefine();  
  10.         System.out.println(b.color);  
  11.         b.getMes();  
  12.     }  
  13. }  

程序运行结果:

黑色
定义类

在ColorDefine这个类中,定义了一个String类型的属性color,并赋初值“黑色”。在第4~6行,定义了一个普通的方法getMes(),其完成的功能是向屏幕输出字符串“定义类”。第7~12行,定义了一个公有访问的静态方法——main方法。在main方法中,第9行,定义了一个ColorDefine的对象b,第10行输出了对象b的数据成员color,第10行调用了对象的方法getMes()。还可以看出,在类ColorDefine中,没有构造方法(即与类同名的方法)。但事实上,如果用户没有现实定义构造方法,Java编译器会提供一个默认的无参构造方法。

4、对象的声明:

类提供的只是一个模板,必须按照它创建出对象之后才可以使用。

下面定义了由类产生对象的基本形式。

[java]  view plain copy
  1. 类名 对象名=new 类名();  

创建属于某类的对象,需要通过以下两个步骤实现:

(1)声明指向“由类所创建的对象”的变量;

(2)利用new创建新的对象,并指派给先前所创建的变量。

举例来说,如果要创建Person类的对象,可用下列语句实现:

[java]  view plain copy
  1. Person p1;           //先声明一个Person类的对象p  
  2. p1 = newPerson();    //用new关键字实例化Person的对象p1  
或者是用下面这种形式类声明变量:

Person p=new Person(); //声明Person对象p1并直接实例化此对象

注意:对象只有在实例化之后才能被使用,而实例化对象的关键字就是new。

具体实例:使用Person类的对象调用类中的属性与方法的过程:

[java]  view plain copy
  1. public class Person {  
  2.     String name;  
  3.     int age;  
  4.     void talk()  
  5.     {  
  6.         System.out.println("我是:"+name+",今年:"+age+"岁!");  
  7.     }  
  8. }  
  9. public class ObjectDemo {  
  10.   
  11.     public static void main(String[] args) {  
  12.         // TODO Auto-generated method stub  
  13.         Person p1=new Person();  
  14.         p1.name="花花";  
  15.         p1.age=25;  
  16.         p1.talk();  
  17.     }  
  18.   
  19. }  

程序运行结果如:
我是花花,今年25岁

5、匿名对象:

匿名对象是指没有名字的对象。对于一个对象实例化的操作来说,对象真正有用的部分是在堆内存里面,而栈内存只是保存了一个对象的引用名称(严格来讲是对象在堆内存的地址),所以所谓的匿名对象就是指,只开辟了堆内存空间,而没有栈内存指向的对象。故匿名对象在程序中只能使用一次!!

匿名对象的两种使用情况:

1、当对对象方法仅进行一次调用时;

2、匿名对象可以作为实际参数进行传递。

具体实例:

[java]  view plain copy
  1. public class NoNameObject {  
  2.     public void say(){  
  3.         System.out.println("面朝大海,春暖花开!");  
  4.     }  
  5.     public static void main(String[] args) {  
  6.         // TODO Auto-generated method stub  
  7.         //这是匿名对象,没有被其他对象所引用  
  8.         new NoNameObject().say();  
  9.     }  
  10. }  

运行结果:

面朝大海,春暖花开

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
weixin102旅游社交微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值