对象数组
方法的重载
两同一不同:同一个类、相同的方法名; 参数列表不同(参数个数不同 或 参数类型不同)
可变参数
2的特例:可变个形参的方法与同一个类中的方法名相同,且与可变个数形参的类型相同额数组不构成重载。
sql语句中的可变参数
参数传递
基本数据类型存的时数据值:int m =10;
int n =m ; //传递的是数据值 m修改,n不变
引用数据类型存的是地址值: int[ ] arr = new int {1,2,3,4};
int[ ] arr2= arr1;//传递的是地址值 一个改变另一个一个也发生改变
调用新方法即入新的栈帧。
递归(recursion)
(不同包同名类情况)
封装性
类只能使用public或缺省
类的内部成员4种都可以使用
public class EmployeeTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//创建对象数组
Employee[] emps = new Employee[2];
for(int i = 0;i< emps.length;i++){
//数组赋值
emps[i] = new Employee();
System.out.println("-------添加第"+(i+1)+"个员工-------------");
System.out.print("姓名:");
String name = scan.next(); //String类型scanner输入
System.out.print("性别:");
char gender = scan.next().charAt(0); //char类型scanner输入
System.out.print("年龄:");
int age = scan.nextInt();
System.out.print("电话:");
String phoneNumber = scan.next();
emps[i].setName(name);
emps[i].setAge(age);
emps[i].setGender(gender);
emps[i].setPhoneNumber(phoneNumber);
}
//遍历员工列表
System.out.println("--------员工列表----------");
System.out.println("编号\t姓名\t性别\t年龄\t电话");
for(int i = 0;i< emps.length;i++){
System.out.println((i+1)+"\t"+emps[i].getInfo());
}
}
}
构造器
作用1:搭配new关键字,创建类的对象
2.在创建对象的同时,可以给对象的相关属性赋值
public class Student {
private String name;
private int age;
// 无参构造
public Student() {}
// 有参构造
public Student(String n,int a) {
name = n;
age = a;
}
public String getName() {
return name;
}
public void setName(String n) {
name = n;
}
public int getAge() {
return age;
}
public void setAge(int a) {
age = a;
}
public String getInfo(){
return "姓名:" + name +",年龄:" + age;
}
}
public class TestStudent {
public static void main(String[] args) {
//调用无参构造创建学生对象
Student s1 = new Student();
//调用有参构造创建学生对象
Student s2 = new Student("张三",23);
System.out.println(s1.getInfo());
System.out.println(s2.getInfo());
}
}
属性:实例变量(为具体的对象所有)、静态变量、
JavaBean
JavaBean是一种Java语言写成的可重用组件。
好比你做了一个扳手,这个扳手会在很多地方被拿去用。这个扳手也提供多种功能(你可以拿
这个扳手扳、锤、撬等等),而这个扳手就是一个组件。
所谓JavaBean,是指符合如下标准的Java类:
类是公共的
有一个无参的公共的构造器
有属性,且有对应的get、set方法
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行
打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来
使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何
改变。
《Think in Java》中提到,JavaBean最初是为Java GUI的可视化编程实现的。你拖动IDE构建工具创
建一个GUI 组件(如多选框),其实是工具给你创建Java类,并提供将类的属性暴露出来给你修改
调整,将事件监听器暴露出来。
public class JavaBean {
private String name; // 属性一般定义为private
private int age;
public JavaBean() {
}
public int getAge() {
return age;
}
public void setAge(int a) {
age = a;
}
public String getName() {
return name;
}
public void setName(String n) {
name = n;
}
}