Java类与对象的一些想法
来源:互联网 发布:网络营销推广软件 编辑:程序博客网 时间:2024/06/06 11:35
今天我就Java类与Java对象的区别,我这边简单说一下我个人的感受吧.
我们使用各种idea编写出来的'.Java'文件我们称之为一个Java类,我想你从来没有听说过有人叫它Java对象吧?顾名思义,类就是对一类事物或者一类对象的一个归类或者说划分.我们甚至可以说,'类'只是一个形容词,而'对象'就是这个形容词所形容的其中一个'实体对象'.(当然这么说可能不是很确切,为了便于理解).Java类中定义了很多构造方法,让我们在进行对象的实例化的时候可以有不同的选择.当然实例化出来的对象也就有所不同,这其中的差异由我们实例化的时候所使用的构造方法决定.我们程序运行时使用的是实实在在的存在的对象!(更确切的说是指向对象的句柄)而Java程序在运行前会对我们定义的Java类进行'装载-链接-初始化',以便我们后面对这个类的使用(实例化)做一些准备工作.
当然,我上面说'Java类只是一个形容词'以及'Java程序在运行时使用的是实体对象'这其实是一个并不是非常准确的说法,因为我们都知道Java里面有一个关键字 'static',大家都知道被static所修饰的变量或者方法,在使用的时候是不需要实例化对象的.只需使用类名+变量名/方法名即可.
另外,关于static我想做以下一些说明.
一个Java类其中包含以下几个模块:
1.成员变量
2.构造器
3.成员方法(成员方法里面可能还会包含成员变量)
我上面说了,被static关键字所修饰的变量或者方法是归属于类的,而非这个类的实例对象.没有被static修饰的对象或者方法均归属于类对象.所以,这就涉及到一个对象的使用问题?
static方法里面能否调用非static对象,非static方法能否使用static对象?我上面说了,static对象/方法归属于当前类,非static对象/方法归属于当前’对象’,对象是类的一份子,当然是可以使用static对象,反过来则不行(非static对象的调用必须是类的实例化对象,这就涉及到构造方法在构造对象的时候对对象的一些初始赋值工作,当然也包括static对象和非static对象);这里有些绕口,自己慢慢细细想想即能明白
这里的理解其实涉及到Java的初始化过程,这里我就不多赘述:
1. 编译器初始化所有的已分配的空间为二进制0
2. 执行父类静态代码 执行子类静态代码(在执行静态代码之前会对静态对象进行初始化工作)
3. 初始化父类成员变量
4. 初始化父类构造函数
5. 初始化子类成员变量
6. 初始化子类构造函数
0 0
- Java类与对象的一些想法
- 关于对象的一些想法~~~
- 对于java的一些想法!
- 对面向对象编程的一些想法
- 关于Java虚拟机装载类的一些想法
- 关于java中抽象类和接口的一些想法
- 关于与客户交流的一些想法
- ROR 与 SSH的一些想法
- 关于java中对象和类的一点小想法
- java数据有效性检验的一些想法
- Java语言编程的一些想法
- Java工程师跳槽的一些想法
- 学习java的一些目标想法
- 关于面相对象的一些想法和生活的感悟
- 关于面向对象和设计模式的一些想法
- 关于面向对象,系统和程序线程的一些想法
- 关于C++类的一些想法
- 个人主页的一些想法
- wayland&weston
- C++中的运算符重载
- selenium 'NoSuchElementException'
- 关于listview重写onintercepttouchevent不响应move和up事件
- 恢复出厂设置后HOME键失效问题
- Java类与对象的一些想法
- Java实现的死锁示例
- bigbluebutton开发
- 借鉴别人的pdo类,慢慢研究
- 本地升级的步骤
- android逆向分析中常用的smali注入代码
- NETBIOS名 和 Host名的不同
- NestedScrollView嵌套ViewPager
- 关于百度云、极光的推送的问题,为什么控制台发送消息成功,而手机端接收不到消息