JAVA面向对象知识点(持续更新)

1.面向对象

        通过将数据操作这些数据的方法封装在对象中来组织代码。

     类和对象

  • 类(Class): 类是一个模板,它定义了对象的属性(成员变量)和行为(方法)。类是创建对象的蓝图。
  • 对象(Object): 对象是类的实例,是通过类定义的实际存在的实体。每个对象都有自己的属性和行为。

    定义

定义类:

public class 类名{
    1.成员变量(代表属性,一般为名词)
    2.成员行为(代表行为,一般为动词)
    ...
}
public class Cup{
    int heigh;
    int volume;
    
    public void open(){
    }
    public void getWater(){
    }

}

如何得到类的对象

类名 对象名 = new 类名();

Cup p =new Cup;

一个JAVA文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。实际开发中建议一个文件定义一个class类

 封装

        指的是将对象的属性和行为(方法)封装在一个类中,并通过访问控制来隐藏对象的内部实现细节。封装有助于保护对象的状态,防止外部代码直接访问和修改对象的内部数据,从而提高代码的安全性和可维护性。       

原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。

private关键字

1.是一个权限修饰符

2.可以修饰成员

3.被private修饰的成员只能在本类中才能访问

1.提供setXxx方法,用于给成员变量赋值,方法用public修饰

2.提供getXxx()方法,用于获取成员变量的值,方法用public修饰

this关键字

就近原则:谁近用谁

private int age;
public void method(){
    int age = 10;
    System.out.println(age);//结果为10
}

如果想要使用成员位置的age,则使用this关键字

private int age;
public void method(){
    int age = 10;
    System.out.println(this.age);//结果为成员位置的age
}

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

本质:代表方法调用者的地址值.  //推荐详细解释看以下代码注释部分

public class student(){
    private name;
    private age;
    
    public void setname(String name){
        this.name=name//setname方法将被student对象所调用,用于给成员变量赋值。
                      //在主函数中创建了student对象s,s调用了方法setname。
                      //因此,this地址值为s地址值。因此this.name即为s.name
    }
}



public class studentTest(){
    public static void main(String[] args){
        student s =new student();
        s.setname("张三");
    }
}

构造方法

作用:在创建对象时给成员变量进行赋值的。

种类:1.无参数构造方法:初始化对象时,成员变量的数据均采用默认值

           2.有参数构造方法:在初始化对象时,同时可以为对象进行赋值。

格式:

public class student(){
    private name;
    private age;

    public student(){//无参
    }

    public student(String name,int age){//带参
    }
}

java内存分配

堆内存:new出来东西在此开辟空间并产生地址

栈内存:方法运行时进入的内存,变量也是在这里

方法区:字节码文件加载时进入的内存

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

水底沉

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值