店铺业务场景分析BigDecimal是Java提供的一个不变的任意精度的有符号十进制数对象。它提供了四个构造器,有两个是用BigInteger构造接口怎么使用的重载与重写的区别?分别是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了店铺业务场景分析BigDecimal是Java提供的一个不变的任意精度的有符号十进制数对象。它提供了四个构造器,有两个是用BigInteger构造接口怎么使用的重载与重写的区别?分别是什么?相关的知识,希望对你有一定的参考价值。
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?
你可以从以下几个方面着手(不强制),或者根据自己对话题主题的理解创作,参考如下:
店铺业务场景分析
一、协同店铺、竞争店铺极海数据返回给前端数据结构不一样
导入的数据结构
很有可能和自定义采集得到的数据结构不一样
导入的数据结构不一定有人去维护,相对固定
而采集的数据范围一般在初期不确定
二、下面两个id是一致的,点位采点要把survey ID带过去,添加接口把survey ID再传回给到后台,然后这个点位就绑定上了店铺
三、审批流
1、老的审批流会报错,删不了、修改不了。(新的没问题)
老数据怎么处理
2、审批流带来的原有方式校验不合理的改造
BigDecimal是Java提供的一个不变的、任意精度的有符号十进制数对象。它提供了四个构造器,有两个是用BigInteger构造
BigDecimal精度和范围比普通的好用的
主要常用的方法是加减乘除和输出、比较
3.1、常用方法
add(BigDecimal)
BigDecimal对象中的值相加,返回BigDecimal对象
subtract(BigDecimal)
BigDecimal对象中的值相减,返回BigDecimal对象
multiply(BigDecimal)
BigDecimal对象中的值相乘,返回BigDecimal对象
divide(BigDecimal)
BigDecimal对象中的值相除,返回BigDecimal对象
toString()
将BigDecimal对象中的值转换成字符串
doubleValue()
将BigDecimal对象中的值转换成双精度数
floatValue()
将BigDecimal对象中的值转换成单精度数
longValue()
将BigDecimal对象中的值转换成长整数
intValue()
将BigDecimal对象中的值转换成整数
int a = bigdemical.compareTo(bigdemical2)
比较,结果a = 1,表示bigdemical大于bigdemical2;0等于;-1小于
BigDecimal是Java提供的一个不变的、任意精度的有符号十进制数对象。它提供了四个构造器,有两个是用BigInteger构造
System.out.println(new BigDecimal(123456789.02).toString());
System.out.println(new BigDecimal("123456789.02").toString());
double f = 234.353333000000000000000000;
BigDecimal b = new BigDecimal(f);
System.out.println(b);
(String)构造器,则完全可预知的,new BigDecimal(“.1”)如同期望的那样精确的等于.1,因此,(String)构造器是被优先推荐使用的。
重载与重写的区别?分别是什么?
1 重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
–》改参数类型,数量
public class Overloading
public int test()
System.out.println("test1");
return 1;
public void test(int a)
System.out.println("test2");
//以下两个参数类型顺序不同
public String test(int a,String s)
System.out.println("test3");
return "returntest3";
public String test(String s,int a)
System.out.println("test4");
return "returntest4";
public static void main(String[] args)
Overloading o = new Overloading();
System.out.println(o.test());
o.test(1);
System.out.println(o.test(1,"test3"));
System.out.println(o.test("test4",1));
2 重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重写是父类与子类之间多态性的表现形式,重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
子类—》父类
当需要在子类中调用父类的被重写方法时,要使用 super 关键字。
class Animal
public void move()
System.out.println("动物可以移动");
class Dog extends Animal
public void move()
super.move(); // 应用super类的方法
System.out.println("狗可以跑和走");
public class TestDog
public static void main(String args[])
Animal b = new Dog(); // Dog 对象
b.move(); //执行 Dog类的方法
总结:
重载和重写都实现了多态
接口怎么使用的,接口有方法体吗?接口与抽象类有什么区别?
1、接口的主体包括抽象方法,默认抽象,可省略abstract,由于接口代表着一个对外行为的集合,所以任何方法在接口内都是public(公开的)。
public interface IUserDao extends IBaseDao
int batchDel(Listids);
void deleteById(Integer id);
SystemAdmin login(String username);
SetgetPerSetByUserId(Integer id);
public void modifyPassword(User user);
一个类实现多个接口—》解决单继承问题(Java是单继承的)
接口怎么使用?
一般为public interface。。。
用一个类实现去实现该接口。
2、接口没有方法体 接口体中只进行方法的声明,不允许提供方法的实现 方法的定义没有方法体,且用分号结尾。现在开发通常接口没有方法体。
扩展:java8的接口新特性(可以有方法体的接口)
interface MyInterface
String myNewName(String newName);
default String myOldName()
return "chao";
3、接口与抽象类有什么区别?
1 属性:接口没有普通属性,只有静态属性,只能public final static 修饰。
抽象类可以有普通属性或静态属性
2 方法:接口中的方法没有方法体, 默认public abstarct 修饰,不能定义静态方法(static)。
而抽象类可以有普通方法,也可以没有抽象方法,可以定义静态方法(static)
3 构造函数:接口中没有构造函数,抽象类中可以有构造器,但是它不能用于new对象,而是用子类电泳来初始化抽象类操作 (构造方法–》构造函数与类名相同)
构造方法的声明:
修饰符 class_name(类名) (参数列表)
逻辑代码
4 初始化块:接口不能包含初始化块,而抽象方法可以
应用:SSM中dao,service,mapper层中用到了接口等等
以上是关于店铺业务场景分析BigDecimal是Java提供的一个不变的任意精度的有符号十进制数对象。它提供了四个构造器,有两个是用BigInteger构造接口怎么使用的重载与重写的区别?分别是什么?的主要内容,如果未能解决你的问题,请参考以下文章
金额计算用 BigDecimal 就万无一失了?看看这五个坑吧~~
用了BigDecimal就不会资损?了解下BigDecimal这五个坑
用了BigDecimal就不会资损?了解下BigDecimal这五个坑