皮皮安学习Java第五天
写在前面
今天520????,大家和对象怎么样了?什么?没有?那我们来new一个吧,还可以private...不过不得不说,一个走在成双成对的操场上,还是有那么一点小伤感的????。倒也不是羡慕,只是感觉自己太没用了,都这么大了,还得靠着父母过日子,当初那个口中沙哑着,嘶吼着对父母说:“18岁后,我自己赚钱养活自己。”可到现在了,在家颓废了四个多月,要是我寒假里在多看一些,要是我当初在努力一点,要是...哪里来的那么多要是,过去都过去了,况且你还有很多事要干。技术全部学会了?喜欢的女孩追到了?就你现在这个模样,配得上她么?一个人在操场静坐,想了想还是回来先把总结写了吧。
今日所学
方法参数
今天看这里的时候,头一遍我还没看懂,看了大佬们的博客后,瞬间有一种茅塞顿开的感觉。首先总的说一下吧。方法参数分为按值传递和引用传递,基本数据类型用按值传递,引用数据类型用引用传递。按值传递不会改变原来的值,引用传递会改变引用对象的值。(就这?就这?就这!)不行?那就放码过来。
package Test; public class ParamTest { public static void main(String[] args) { System.out.println("Testing tripleValue"); double percent = 10; System.out.println("Before:percent="+percent); tripleValue(percent); System.out.println("After:percent"+percent); System.out.println("\nTesting tripleSalary"); var harry = new Employee("Harry",50000); System.out.println("Before:salary"+harry.getSalary()); System.out.println("\nTesting swap:"); var a = new Employee("Alice",70000); var b = new Employee("Bob",60000); System.out.println("Before:a="+a.getName()); System.out.println("Before:b="+b.getName()); } public static void tripleValue(double x) { x=3*x; System.out.println("End of method:x="+x); } public static void tripleSalary(Employee x) { 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 { 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; } }
对象构造
你们要的对象来了
搞错了,搞错了,重来
1.重载
如果多个方法有相同的名字,不同的参数,便出现了重载。
indexOf(int) indexOf(int,int) inderOf(String) indexOf(String,int)
2.无参数的构造器
首先复习一下构造器:
构造器是一个特殊的方法,其作用于创建对象时执行初始化。
注意:Java类必须包含一个及一个以上的构造器,构造器的名字必须与类名相同。
很多类都包含一个类无参数的构造器,由无参数构造器创建对象时,对象的状态会设置为适当的默认值。
包
有了对象,肯定要送包...咳咳咳,拿包包住。
包的作用
- 区分同名的类
- 类较多的时候便于管理
- 便于访问控制
一个类可以使用所属包中的所有类,以及其他包中的公共类。
完全限定名:就是包名后面跟着类名。
java.time.LocalDate today = java.time.LocalDate.now();
import语句导入
import java.time.*;
import java.time.*的语法比较简单,对代码的规模也没有任何负面影响。
常用的包
- java.lang Java核心类,该包默认自动导入
- java.util 实用工具类
- java.io 包含输入/出操作的类
- java.sql 数据库操作的类
- java.net 网络操作
- java.awt 图行窗口类