Day09 Java面向对象

Object类

1)java.lang.Object 类,是所有类的根父类
2)Object类仅有一个空参的构造器 public Object(){ }
3)关于方法:

① equals(Object obj)
基本数据类型:根据基本数据类型的值判断是否相等。相等返回true,反之返回false
注:两端数据类型可以不同,在不同的情况下,也可以返回true。
引用数据类型:比较引用类型变量的地址值是否相等
像String 包装类 File类 Date类这些重写Object类的equals()方法,比较是两个对象的"实体内容"是否完全相同。equals(Object obj)方法
② toString()方法
当我们输出一个对象的引用时,会调用toString()方法。
当我们没有重写Object类的toString()方法时,打印的就是对象所在的类,以及对象实体在堆空间的位置
一般我们需要重写Object类的toString()方法,将此对象的各个属性值返回。

4)包装类

基本数据类型由于不是类,不能够使用java类库里提供的大量的方法。所有在设计上,我们让每一个基本数据类型都对应一个类,同时数据存储的范围还不变。此时相当于基本数据类型就具有了类的特点。这些类即为包装类(wrapper 或封装类)


基本数据类型与包装类的转换

简易版:1.基本数据类型与对应的包装类有自动装箱、自动拆箱如:
<code>int i = 10;
Integer i1 = i;//自动装箱
int j = i1;//自动拆箱</code>
2.基本数据类型、包装类---->String类:调用String类的重载的valueOf(Xxx xx);String类---->基本数据类型、包装类:调用相应的包装的parseXxx(String str)
注意:String str = "123";int i = (int)str;是错误的转法

static关键字

1)static:静态的,可以用来修饰属性、方法、代码块(或初始化块)、内部类
2)static修饰属性(类变量):
1.由类创建的所有的对象,都共用这一个属性
2.当其中一个对象对此属性进行修改,会导致其他对象对此属性的一个调用。vs 实例变量(非static修饰的属性,各个对象各自拥有一套副本)
3.类变量随着类的加载而加载的,而且独一份
4.静态的变量可以直接通过“类.类变量”的形式来调用
5.类变量的加载是要早于对象。所以当有对象以后,可以“对象.类变量”使用。但是"类.实例变量"是不行的。
6.类变量存在于静态域中。
2)static修饰方法(类方法):
1.随着类的加载而加载,在内存中也是独一份
2.可以直接通过“类.类方法”的方式调用
3.内部可以调用静态的属性或静态的方法,而不能调用非静态的属性或方法。反之,非静态的方法是可以调用静态的属性或静态的方法
静态的方法内是不可以有this或super关键字的
静态的结构(static的属性、方法、代码块、内部类)的生命周期要早于非静态的结构,同时被回收也要晚于非静态的结构

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,850评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,899评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,430评论 11 349
  • 一个有趣的婚礼主持人 被誉为“几何之父”的法国数学家笛卡尔,他所建立的Descartes坐标...
    他叫徐乐阅读 5,847评论 0 1