package Day01;

import org.junit.Test;

import java.text.NumberFormat;
import java.util.Scanner;

public class TestConntion {
/**
* 三元运算符的规则 :
* 语法:条件表达式?表达式1:表达式2;
*
*/

@Test
public void test1(){
int i = 80;
String s = String.valueOf(i<100?90:100);
String s1 = String.valueOf(i<100?90:100.0);
System.out.println("两者是否相等:"+s.equals(s1));
}

/**
* 1.重写(Override)
*
* 从字面上看,重写就是 重新写一遍的意思。其实就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。但要注意子类函数的访问修饰权限不能少于父类的。
*
*
*
* 2.重载(Overload)
*
* 在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不同)则视为重载。同时,重载对返回类型没有要求,可以相同也可以不同,但不能通过返回类型是否相同来判断重载。
*
*
* 类在下面放着
*/
@Test
public void test2() {

}

}
class Client {
//简单折扣计算
public void calPrice(int price,int discount){
float knockdownPrice =price * discount / 100.0F;
System.out.println("简单折扣后的价格是:"+formateCurrency(knockdownPrice));
}
//复杂多折扣计算
public void calPrice(int price,int... discounts){
float knockdownPrice = price;
for(int discount:discounts){
knockdownPrice = knockdownPrice * discount / 100;
}
System.out.println("复杂折扣后的价格是:" +formateCurrency(knockdownPrice));
}

/**
* calPrice(int price,int discount)和方法 alPrice(int price,int... discounts) 构成重载
*
*
* 在项目和系统的开发中,为了提高方法的灵活度和可复用性,我们经常要传递不确定数量的参数到方法中,在Java 5之前常用的设计技巧就是把形参定义成Collection类型或其子类类型,
* 或者是数组类型,这种方法的缺点就是需要对空参数进行判断和筛选,比如实参为null值和长度为0的Collection或数组。而 Java 5引入变长参数(varags)就是为了更好地提高方法的复用性,
* 让方法的调用者可以“随心所欲”地传递实参数量,当然变长参数也是要遵循一定规则的,比如变长参数必须是方法中的最后一个参数;一个方法不能定义多个变长参数等,这些基本规则需要牢记,
* 但是即使记住了这些规则,仍然有可能出现错误,我们来看如下代码:
*
* 方法调用了方法1 但是在实际的开发中会导致出现异议 所有建议不要为长参数的方法进行重载!!
*
* @param price
* @return
*/
//格式化成本的货币形式
private String formateCurrency(float price){
return NumberFormat.getCurrencyInstance().format(price/100);
}
public static void main(String[] args) {
Client client = new Client();
//499元的货物,打75折
client.calPrice(49900, 75);
}
}

最新文章

  1. LINUX下C-C++类软件的诊断
  2. css小知识之伪元素
  3. Quartz Java resuming a job excecutes it many times--转
  4. 图解I/O的五种模型
  5. AndroidStudio 0.2.x 引入多模块Eclipse项目
  6. zookeeer 集群和伪集群模式
  7. Codeforces Round #246 (Div. 2) —B. Football Kit
  8. TextView 使用自定义的字体和亮点
  9. 迷宫问题-POJ 3984
  10. 树莓派3b+ Ubuntu 16.04 MATA系统 ssh远程登陆后修改主机名、用户密码和用户名
  11. 【学习总结】Git学习-参考廖雪峰老师教程-期末总结
  12. 剑指offer(1)
  13. 使用Azure的GPU系列虚拟机Ubuntu-16.0.4安装GPU驱动并使用Tensorflow-GPU的过程。
  14. SPFILEOPENBANKDB.ORA 手动编辑产生问题
  15. Linux dd命令制作U盘启动盘
  16. [转]mybatis if test非空判断数字0为什么是false
  17. Layout2:StackPanel(补交作业)
  18. mapper.xml中的&lt;sql&gt;标签
  19. tomcat8特性
  20. jquery选择器 之 获取父级元素,子元素,同级元素

热门文章

  1. dpdk读字节,却触发了两次tlp
  2. 你必须学UML之理论篇
  3. [CF1527D] MEX Tree (lca)
  4. 【HTML】学习路径1-网页基本结构-标签基本语法
  5. 宝塔面板服务器ip地址修改域名
  6. 使用『jQuery』『原生js』制作一个选项卡盒子 —— { }
  7. winform,xml读取与写入
  8. 关于在PyCharm中使用虚拟环境
  9. Python实验报告——第2章 Python语言基础
  10. Rook Toolbox