Java中的知识点拾贝
来源:互联网 发布:ubuntu 16.04 安装出错 编辑:程序博客网 时间:2024/05/02 01:24
/**TIPS4: * This program demonstrates parameter passing in Java. * @version 1.00 2000-01-27 * @author Cay Horstmann */public class ParamTest{ public static void main(String[] args) { /* * Test 1: Methods can't modify numeric parameters */ System.out.println("Testing tripleValue:"); double percent = 10; System.out.println("Before: percent=" + percent); tripleValue(percent); System.out.println("After: percent=" + percent); /* * Test 2: Methods can change the state of object parameters */ System.out.println("\nTesting tripleSalary:"); Employee harry = new Employee("Harry", 50000); System.out.println("Before: salary=" + harry.getSalary()); tripleSalary(harry); System.out.println("After: salary=" + harry.getSalary()); /* * Test 3: Methods can't attach new objects to object parameters */ System.out.println("\nTesting swap:"); Employee a = new Employee("Alice", 70000); Employee b = new Employee("Bob", 60000); System.out.println("Before: a=" + a.getName()); System.out.println("Before: b=" + b.getName()); swap(a, b); System.out.println("After: a=" + a.getName()); System.out.println("After: b=" + b.getName()); } public static void tripleValue(double x) // doesn't work { x = 3 * x; System.out.println("End of method: x=" + x); } public static void tripleSalary(Employee x) // works { x.raiseSalary(200); System.out.println("End of method: salary=" + x.getSalary()); } public static void swap(Employee x, Employee y) { Employee temp = x; x = y; y = temp; System.out.println("End of method: x=" + x.getName()); System.out.println("End of method: y=" + y.getName()); }}class Employee // simplified Employee class{ private String name; private double salary; public Employee(String n, double s) { name = n; salary = s; } public String getName() { return name; } public double getSalary() { return salary; } public void raiseSalary(double byPercent) { double raise = salary * byPercent / 100; salary += raise; }}
Testing tripleValue:Before: percent=10.0End of method: x=30.0After: percent=10.0
Testing tripleSalary:Before: salary=50000.0End of method: salary=150000.0After: salary=150000.0
Testing swap:Before: a=AliceBefore: b=BobEnd of method: x=BobEnd of method: y=AliceAfter: a=AliceAfter: b=Bob
tips1 所有的Java对象都是在堆中构造的,构造器总是伴随着new操作符一起使用。
tips2 不需要使用对象调用静态方法,例如,不需要构造Math类对象就可以调用Math.pow。
tips3 Java程序设计语言总是采用按值调用,而不采用按引用调用。
tips4 Java中方法参数的使用情况:
(1)一个方法不能修改一个基本是句类型的参数(即数值型或者布尔型)。
(2)一个方法可以改变一个对象参数的状态。
(3)一个方法不能让对象参数引用一个新的对象。
阅读全文
0 0
- Java中的知识点拾贝
- java中的小知识点
- Java中的知识点
- Java中的基础知识点
- Java中的小知识点杂烩
- Java中的一些基础知识点
- java中的一些小知识点
- Java中的并发知识点梳理
- java学习中的易错易忘知识点
- java中的垃圾搜集知识点整理
- JAVA面向对象中的主要知识点
- JAVA内部类中的一个小知识点
- Java中的一些小细节,小知识点
- java中的反射机制及其它知识点
- Android开发中的一些java知识点
- JAVA基础中的几个常用知识点
- JAVA基础中的常用知识点(二)
- Java基础中的一些知识点(一)
- 简单模拟和电脑比赛摇甩子js
- 前端工程师如何与设计师合作
- numpy Broadcasting
- 会话cookie中缺少HttpOnly属性
- Unity shader 双面 + alpha 且正常受光
- Java中的知识点拾贝
- python捕获警告的方法
- js 把一个函数赋给一个变量时带括号与不带括号的区别
- 1430:梯田AGAIN
- SGISTL源码探究-queue配接器
- easyUI 文本框显示传入值的方法
- 怎么获取加载完的页面的源文件
- 链表面试题Java实现【重要】
- Host is not allowed to connect to this MySQL server解决方法