JAVA11_04学习总结(封装,匿名对象)

发布于:2022-11-04 ⋅ 阅读:(579) ⋅ 点赞:(0)

今日内容

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();
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到