今日内容
1.形式参数:基本数据类型和引用数据类型
基本数据类型
形式参数是基本类型时,调用该方法,实际参数传递的值是相对应的基本数据类型(值传递)
引用数据类型
形式参数是引用数据类型(类)时,调用该方法,实际参数需要传递当前类的具体对象!(创建类对象)
public class people {
String name ; //定义姓名
int age ; //定义年龄
int idCard ; //定义电话号码
public void show(){
System.out.println("个人信息:");
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("身份证号码:"+idCard);
}
}
public class peopleDemo {
//调用people类里的方法
public void showPeople(people p){ //形式参数是引用类型(类),需要用对象名(内存地址)调用
//这里的p是传过来的people类的内存地址
p.show();
}
}
public class parameterTest {
public static void main(String[] args){
//完成调用,先调用peopleDemo类
peopleDemo pl = new peopleDemo() ;
//创建people类的对象调用
people p = new people() ;
p.name = "钟离" ;
p.age = 500 ;
p.idCard = 100773429 ;
//将people类的对象名(内存地址)传入
pl.showPeople(p);//想要完成调用,需要把people类的内存地址传过来,只有对象可以调用类
}
}
2.匿名对象
有名字对象
格式
类名 对象名 = new 类名() ;
匿名对象
格式
new 类名() ;
特点
1)可以作为参数传递
2)被使用调用完立即释放
注意
不要在代码中大量使用,结构层次不清晰
public class people {
String name ;
int age ;
int idCard ;
public void show(){
System.out.println("个人信息:");
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("身份证号码:"+idCard);
}
}
public class peopleDemo {
public void show1(people p){
p.show();
}
}
public class peopleTest {
public static void main(String[] args){
peopleDemo pd = new peopleDemo() ;
pd.show1(new people());
}
}
3.封装
3.1private
首先要知道private关键字
private---私有的,个人的
private修饰符,可以修饰成员变量和成员方法
---只能在当前类中调用和访问,外界不能直接调用
public class people {
private String name ;
private int age ;
private int idCard ;
public void show(){
System.out.println("看是否能调用");
System.out.println("name:"+name);
System.out.println("age:"+age);
System.out.println("idCard:"+idCard);
}
}
public class peopleTest {
public static void main(String[] args){
//创建类和对象
people p = new people() ;
//p.name = "钟离" ;报错,因为people类里的name属性是private,不能被外界直接调用
//同一个类下可以调用,people类中的show方法可以调用里面的成员变量
p.show();
}
}
3.2封装
就是保护成员属性的数据安全性,让外界无法直接操作
对外提供set/get方法---获取值
限制外界篡改数据的一种手段,想要修改数据必须经过方法,方法中可以增加限制条件!
3.3this关键字
this关键字
表示当前类对象的"地址引用"!
JavaBean规范
1)类是具体类
class 类名{}
2)类的属性必须私有化!
---private
3)类中必须提供set/get---(赋值/获取)
对成员变量的公共访问方法
public class people {
private String name ;
private int age ;
private int idCard ;
//赋值姓名
public void setName(String name) {
this.name = name;
}
//获得姓名
public String getName() {
return name;
}
//赋值年龄
public void setAge(int age) {
this.age = age;
}
//获得年龄
public int getAge() {
return age;
}
//赋值身份证
public void setIdCard(int idCard) {
this.idCard = idCard;
}
//获取身份证
public int getIdCard() {
return idCard;
}
//方法
public void show(){
System.out.println("看是否能调用");
System.out.println("name:"+name);
System.out.println("age:"+age);
System.out.println("idCard:"+idCard);
}
}
public class peopleTest {
public static void main(String[] args){
//创建类和对象
people p = new people() ;
//p.name = "钟离" ;报错,因为people类里的name属性是private,不能被外界直接调用
//同一个类下可以调用,people类中的show方法可以调用里面的成员变量
//赋值姓名
p.setName("钟离");
//获取姓名
String name = p.getName();
System.out.println(name);
//赋值年龄
p.setAge(500);
//获取年龄
int age = p.getAge();
System.out.println(age);
//赋值身份证
p.setIdCard(100773429);
//获取身份证
int idCard = p.getIdCard();
System.out.println(idCard);
p.show();
}
}