复习
一、实例内部类:非静态的成员内部类
outer.Inner inner =new outer().new Inner();
静态内部类:
outer.Inner inner =new outer.Inner();
局部内部类:
方法里面定义的内部类。
匿名内部类:
只能使用一次的类
new 抽象类/接口{
实现抽象类或者借口的方法};
二、枚举:
1.概念:类的对象是确定的类
2、enum
三、Objiect
1.hashcode:哈希吗,根据对象的地址求出来的
2、toString :结果:包头.类名@算法(hashCode)
system.out.print(对象名);调用默认对象。toString
子类都会重写toString,重写后一般都是输出属性值
3、equals:重点,对于Objiect来说,equals是比较地址的
==也是比较两个对象的地址
equals方法一般也会被子类重写,重写后主要比较的是属性
4.、clone
创建一个对象的副本
工长模式
一、简单工厂模式,工厂方法模式、抽象工厂模式
二、工厂模式是设计模式之一
三、设计模式,是设计开发人员在长久的开发过程中,总结出来的
四、开发出来的系统比较稳定,容易扩展
五、面向对象编程要注意的地方
1、高内聚、低耦合
2、开闭原则
开:对扩展开放
关:比对修改关闭
《1》简单工厂模式:工厂类提供一方法,用来生成产品
//工厂类:负责生产产品
BigDeimallei
1float、double两种基本浮点类型的浮点数容易引起精度丢失。
果程序中需要对double浮点数进行加、减、乘、除基本运算,则需要先将double类型数值包装成BigDecimal对象,调用BigDecimal对象的方法执行运算后再将结果转换成double型变量。
Math类
Java提供了基本的+、-、*、/、%等基本算术运算的运算符,但对于更复杂的数学运算,例如三角函数、对数运算、指数运算等则无能无力。Java提供了Math工具类来完成这些复杂的运算。
Math类是一个工具类,它的构造器被定义成private的,因此无法创建Math类的对象;Math类中所有方法都是类方法,可以直接通过类名来调用它们。
final math类中的foolr方法返回小于被比较数的最大整数。round方法返回大于被比较数的最小整数 。
String类的内存分配String中的equals方法重写了Objiect父类中的equals方法比较的是里面内容。
string类中的charAt()方法提取char类型的字符,compareT()是比较字符串的大小,返回整数。concat()是字符串链接
contain()是当且仅当字符串包含指定的char值序列是返回true值
endsWith看此字符串是否以传入形参的字符串为后缀,返回类型为布尔类型、
indexOf()返回指定字符串在此字符串中第一次出现的索引,返回类型为整数
lastIndexOf()与indexof()方法用法一样,只是从后往前找而已
substring ()方法是返回一个新的字符串,他是次字符串的一个子字符串,该字符串从指定的beginIndex处开始到enindex处结束
relace()用后面形参替换前面的参数
toCharArray()方法将字符串转化为char类型的数组
trim()方法去掉字符串的前后空个、
parseint()将字符串转化为整数类型
value()将传入形参转化为字符串