sqlserver2008未将对象引用设置到对象的实例_Java面向对象初体验(类和对象)

    Java语言是一门面向对象的语言,Java语言最大的特点在于面向对象的编程设计,并且面向对象的编程设计也在由于Java自身的发展而不断发展,同时最初不支持面向对象的编程也都开始转向了面向对象。但是依然有许多的开发者认为面向过程编程会比较好。
  最早并且一直到现在流行的编程语言C、C++、Java。其中C语言已经变成了面向过程开发的代表,C++、Java都是面向对象的变成语言。
   所谓的面向过程指的是面对于一个问题的解决方案,更多的情况下不会做出重用的设计的思考,而面向对象主要的设计形式为模块化设计,并且可以进行重用配置。在整个的面向对象的设计里面更多情况下考虑的是标准,在使用的时候根据标准进行拼装,而对于面向对象设计有三个主要的特征:

封装性:内部的操作对外而言不可见;当内部的操作都不可以直接使用的时候才是安全的;继

承性:在已有结构的基础上继续进行功能的扩充;

多态性:是在继承性的基础上扩充而来的概念,指的是类型的转换处理

2.类与对象简介
面向对象是一个非常庞大的话题,但是任何庞大的话题都有其核心的组成:类与对象类是对某一类事物的共性的抽象概念,而对象描述的是一个具体的产物
例如:现在我和某一位先生可以立刻区分出我还有别人。我和其他的人都一样,都是一个个具体可以使用的个体产物,
但是这些个体都有一些共性的标志:人,中国人,美国人人和人是不同的:名字,肤色,性别,身高;
所谓的人和人之间不同依靠的是我们各自的属性每一个属性的集合就构成了一个对象
但是所有的属性应该是群体定 义
群体的定义就形成了一个类是一个模板,而对象才是可以使用的实例先有类再有对象
在类之中一般都会有两个组成:
成员属性(Field): 有些时候为了简化称其为属性:
什么是属性: 一个人的年龄、姓名都是不同的,所以这些对于整体来讲就成为属性
操作方法(Method): 定义对象具有处理行为;
什么是方法: 这个人可以唱歌、跳舞、游泳、运动;

3.类与对象的基本使用
在Java之中类是一个独立的结构体,所以需要使用class来进行定义,而在类中主要由属性方法组成,
那么在类中的属性就是一个个具体的变量方法就是可以重复执行的代码


在这个类之中定义有两个属性(name、age)和一个方法(tell()) 于是说现在有了类之后
如果想使用类,必须通过对象来完成,而如果要产生对象,则必须使用以下语法格式来完成
声明并实例化对象类名称 对象名称 = new 类名称();
分步骤完成:声明对象类名称 对象名称 = null;实例化对象:对象名称 = new 类名称();
当获取了实例化对象之后,那么就需要通过对象对类中的属性和方法调用
此时有两种调用方式:
调用类中的属性:实例化对象.成员属性;
调用类中的方法:实例化对象.方法名称();
当你不对属性值进行设置时候,则该属性值为对应数据类型的默认值String 默认值为:nullint 默认值为:0

4.对象内存分析
对象实例化操作初步分析
Java之中属于引用数据类型,引用数据类型最大的困难之处在于
要进行内存的管理,同时在进行操作的时候也会发生有内存关系变化
所以本次针对与之前的程序的内存关系进行一些简单的分析。
如果要进行内存分析,那么首先要给出两块最为常用的内存空间:堆内存: 保存的是对象具体信息

栈内存: 保存的是一块堆内存地址,即:通过地址找到堆内存,而后找到对象内容,

但是为了分析简化起见简单的理解为对象的名称保存在了栈内存之中


在之前的内存分析操作中可以发现实例化对象有两种方式:1. 一种是之前使用的声明并实例化对象2 . 一种是分布完成实例化对象的操作;
需要注意的是所有的对象必须在对象实例化完成之后才可以执行
代码中只声明了对象而未实例化对象,所以此时无法调用它的属性和方法。5.对象引用分析类本身属于引用数据类型,那么就牵扯到内存的引用传递
所谓的引用传递的本质同一块堆内存空间可以被不同栈内存指向,也可以更换指向

6.引用传递与垃圾产生分析


此时已经明确的发生了引用传递,并且也成功的完成了引用传递的处理操作,

所谓的垃圾空间指的就是没有任何栈内存所指向的堆内存空间,所有的垃圾将被GC(Garbage Collector、垃圾收集器) 不定期进行回收,并且释放无用内存空间,但是垃圾过多,一定将影响到GC的处理性能,从而降低整体的程序性能,那么在实际的开发之中,对于垃圾的产生应该越少越好。一个栈内存只能够保存有一个堆内存的地址数据,如果发生更改,则之前的地址数据将从此栈内存中彻底消失。 7.构造方法
现在的程序在使用类的时候一般都按照了如下的步骤进行:

  • 声明并实例化对象,这个时候实例化对象中的属性并没有任何的数据存在,都是其对应数据类型的默认值;
  • 需要通过一系列的 setter 方法为类的属性设置内容;

可以通过构造方法实现实例化对象中的属性初始化处理。只有在关键字 new 的时候才会使用构造方法 在Java程序里面构造方法的定义要求如下:

  • 构造方法名称必须与类名称保持一致;
  • 构造方法不允许设置任何的返回值类型,即:没有返回值定义;
  • 构造方法是在使用关键字 new 实例化对象的时候自动调用的;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值