Java-object类、内部类、时间API

object类常用的两个方法:

equals()方法解析:
1.object类中equals()
方法定义:return (this==obj);//直接比较两个对象引用地址是否相等
}
1.equals是比较两个对象中的实体内容是否相等。
2.对于自定义的类来说,如果没有重写Object类中的equals()方法,调用的equals()时,仍然是比较两个对象的引用地址是否相同。
3.一般情况下,在开发中一旦调用了自定义类中的equals(),通常是重写之后的equals()方法。而一般重写的equals()方法是判断两个对象的属性是否相等。

2.例子:

2.和equals()的区别::使用范围:可以操作基本数据类型 和引用数据类型。如操作的是基本数据类型:比较两个基本数据类型的变量对应的值是否相等。如果操作的是引用数据类型,比较两个引用的地址是否相等。== 符号两边的数据类型必须兼容(可自动转换的基本数据类型除外),否则编译出错。列子:equals()方法:使用范围:只适用于引用数据类型。
2.toString()方法:
1.object类中toString()

定义:

2.当我们打印一个对象的引用时,会自动调用其toString(),
3.像String、Date、File、包装类等重写了Object类中的toString(),返回其代表的具体内容。4.在进行String与其它数据类型连接操作时,会自动调用toString()方法
2.内部类:车 发动机 发动机类脱离了车类 是没有意义的定义:
如果一个事物包含另一个事物,那么这就是类内部包含一个类,这就是内部类例如:
身体和心脏的关系 汽车和发动机

(1)分类:

1.成员内部类
2.局部内部类(包含了匿名内部类)
成员内部类:
语法:
修饰符 class 外部类名称{修饰符 class 内部类名称{内部类成员}外部类成员}内部类使用:编译器如何处理内部类 Body.java–>body.classBody.Heat.java—>Body$Heart.class
1.内用外 随意访问
2.外部用内部普通类使用方式:类名称 对象名=new 类名称();内部类 外部类名称.内部类名称 内部类对象=new 外部类名称().new 内部类名称();
3.内部类如果有同名:
2.内部类的简单总结:
3.内部类如果有同名:
public class Body {
public class Heart {
// 内部类方法
public void beat() {
//number=100;
//run();
System.out.println(“扑通扑通”);
}
}

// 外部类方法
public void run() {
	System.out.println("跑起来了!");
}

}

访问修饰符总结:

外部类 public 和defualt内部类public protected default private
局部内部类:
如果一个类定义在一个方法内部 这个类就是局部内部类
局部内部类:
只属于当前的方法,所以只有当前方法可以使用他 出了方法就没有了。
局部内部类注意事项:
1.如果局部内部类中的方法希望访问类,所在方法的局部变量,这个局部变量必须是有效final的Java8以后 只要局部变量是事实不变的,final可以省略。

原因:

1.new出来的对象,在堆上存储
2.局部变量是跟这方法走的,存在栈中
3.方法调用完成 局部变量就出栈了
4.new出来的对象会在堆中持续存在,知道垃圾回收所以,可能number已经没有了,内部类对象还有 需要把number copy出来,
copy出来到常量池重要:
匿名内部类 lambda表达式前提:
1.如果接口实现类或者父类的子类 只需要使用一次 而且是唯一的一次
2.这种情况下就可以省略实现类或子类的定义,改为使用匿名内部类。

语法:

接口名称/抽象类名称 对象名=new 接口名称/抽象类名称 (){重写接口和抽象类的抽象方法}调用 对象名.
抽象方法注意事项:

格式解析:

1.new 代表创建对象的动作
2.接口名称就是匿名内部类需要实现的接口
3{。。。。。}
匿名内部类的内容说明:1.匿名内部类 在创建对象的时候只能使用一次。
2.匿名对象在调用方法的时候只能使用一次。
3.匿名内部类是省略了实现类或者子类 匿名对象是省略了对象名称。
总结:
引用(类 接口)类型作为成员变量,作为返回值和参数代码示例:public abstract void func();
}

public class MySon extends MyClass{
@Override
public void func(){
System.out.println(“哈哈哈哈!”)
}

例子:

匿名内部类 类匿名 没有这个类 类只用一次的时候(创建对象的时候,才使用类)匿名对象: 对象匿名 没有这个对象 可以做参数,做返回值,测试方法,对象只需用亦一次的时候可以用。与时间有关的API:类Date 表示特定的瞬间,精确到毫秒毫秒:千分之一秒 1000毫秒=1秒。瞬间的定义:2000-01-01 01-01-01:001 瞬间2000-01-01 01-01-01:002 
瞬间作用:可以对时间和日期进行计算。
2010-2020年有几天?
可以先把时间转换为毫秒进行计算 计算完成之后 毫秒转为天数日期转毫秒。2010-起始点 getTime方法获取毫秒2020-起始点 getTime方法获取毫秒初始:1970年1月1日00:00:00
类中的构造函数和方法
Date date =new Date();
Date date=new Date(0);
System.out.println(date);
起始时间DateFormat:
包:
ava.textDateFormat 是日期/时间
格式化子类抽象类子类:
SimpleDateFormat作用:是日期/时间格式化 1 00:00:01 1¥ 0011999-11-11 1999:

11:11 1999年11月11日

构造方法和方法

1.构造方法SimpleDateFormat(String pattern)

2.方法:

String format(Date) 日期转成字符串Date parse(String str) 字符串转成日期创建一个简单时间
格式化对象:抛出异常:
把字符串转换成日期:
Calender 日历抽象类操作日历字段如:
获得下星期的日期提供了一些方法子类:
不好看static Calendar getInstance(Local aLocale)使用默认时区和指定环境获得一个日历。

Java常用API

(数学):

java.lang.Math提供sin, cos, tan, exp, log, log10 等类方法,PI和E等类字段java.lang.String(StringBuilder线程不安全,StringBuffer线程安全)
char charAt(int index)返回给定位置的代码单元boolean equals(Object other)boolean equalsIngoreCase(String other) 如果字符串与other相等,
返回true忽略大小写int length() 返回字符串的长度String substring(int beginIndex)String substring(int beginIndex, int endIndex)
返回一个新字符串,包含原始字符串从beginIndex到串尾或到endIndex-1的所有代码单元String toLowerCase()String toUpperCase()返回小写字符串返回大写字符串int indexOf(String str[, int fromIndex])int lastIndexOF(String str[, int fromIndex]) 返回第一个
最后一个子串的位置,从起始位置或者fromIndex开始。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值