学习java时候的笔记(七)

private关键字

  • 是一个权限修饰符
  • 可以修饰成员(成员变量和成员方法)
  • 被private修饰的成员只能在本类中才能访问

用private关键字优化上面demo

package Classes;

public class GirlFriend {
    //属性
    private  String name;
    private int age;
    private String gender;
    //针对与每一个私有化的成员变量,都要提供get和set方法
    //set方法:给成员变量赋值
    //get方法:对外提供成员变量的值

    //作用:给成员变量name进行赋值的
    public void setName(String n){
        name = n;
    }

    //作用:对外提供name属性
    public  String getName(){
        return name;
    }

    public void setAge(int a) {

        if(a >= 18 && a <= 50){
            age = a;
        }else {
            System.out.println("非法参数");
        }
    }
    public int getAge(){
        return age;
    }

    public void setGender(String c){
        gender = c;
    }

    public String getGender(){
        return gender;
    }

    //行为
    public void sleep(){
        System.out.println("女朋友在睡觉");
    }
    public void eat(){
        System.out.println("女朋友在吃饭");
    }
}

package Classes;

public class GirlFriendTest {
    public static void main(String[] args) {
        //创建女朋友的对象
        GirlFriend gf1 = new GirlFriend();
        gf1.setName("红豆");
        gf1.setAge(18);
        gf1.setGender("女");
        System.out.println(gf1.getName());
        System.out.println(gf1.getAge());
        System.out.println(gf1.getGender());
        gf1.eat();
        gf1.sleep();
    }
}

this关键字

**this的作用:**区分局部变量和成员变量

**this的本质:**所在方法调用者的地址值

在这里插入图片描述

图片来源 --黑马程序员

用this关键字优化上面代码的类

package Classes;

public class GirlFriend {
    //属性
    private  String name;
    private int age;
    private String gender;
    //针对与每一个私有化的成员变量,都要提供get和set方法
    //set方法:给成员变量赋值
    //get方法:对外提供成员变量的值

    //作用:给成员变量name进行赋值的
    public void setName(String name){
        this.name = name;
    }

    //作用:对外提供name属性
    public  String getName(){
        return name;
    }

    public void setAge(int age) {

        if(age >= 18 && age <= 50){
            this.age = age;
        }else {
            System.out.println("非法参数");
        }
    }
    public int getAge(){
        return age;
    }

    public void setGender(String gender){
        this.gender = gender;
    }

    public String getGender(){
        return gender;
    }

    //行为
    public void sleep(){
        System.out.println("女朋友在睡觉");
    }
    public void eat(){
        System.out.println("女朋友在吃饭");
    }
}

构造方法的格式

public class 类名{

	修饰符 类名(参数){
		方法体;
	}
	
}
  • 方法名与类名相同,大小写也要一致
  • 方法没有返回值类型,连void都没有
  • 没有具体的返回值(不能由retrun带回结果数据)

构造方法的定义

  • 如果没有定义构造方法,系统将给出一个默认的无参数构造方法
  • 如果定义了构造方法,系统将不再提供默认的构造方法

构造方法的重载

  • 带参构造方法,和无参数构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载

推荐的使用方式

  • 无论是否使用,都手动书写无参数构造方法,和带全部参数的构造方法

构造方法的作用?

  • 创造对象的时候,由虚拟机自动调用,给成员变量进行初始化的。

构造方法有几种,各自的作用是什么?

  • 无参数构造方法:初始化的对象时,成员变量的数据均采用默认值。
  • 有参数构造方法:在初始化对象的时候,同时可以为对象进行赋值。

最后:欢迎大家关注我的公众号 “盘键盘的Yliken”

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yliken

你的鼓励就像月亮,照亮了在黑暗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值