• Java面向对象(封装,继承,多态,接口)


    文章目录

    类和对象

    首先3个问题:

    1. 创建一个类

    创建一个学生类,成员变量是姓名和年龄,然后定义构造方法,以及setXxx方法和getXxx方法,分别来赋值和获取。

    1. public class Student {
    2. // 定义成员变量
    3. private String name;
    4. private int age;
    5. // 空参构造函数
    6. public Student()
    7. {
    8. }
    9. // 有参构造函数
    10. public Student(String name,int age)
    11. {
    12. this.name = name;
    13. this.age = age;
    14. }
    15. /*
    16. // 针对每一个私有化变量,都要提供get和set方法
    17. // set方法:给成员变量赋值
    18. // get方法:对外提供成员变量的值
    19. */
    20. // 给成员变量name进行赋值
    21. public void setName(String name)
    22. {
    23. this.name = name;
    24. }
    25. // 对外提供name属性的值
    26. public String getName()
    27. {
    28. return this.name;
    29. }
    30. // 给成员变量age进行赋值
    31. public void setAge(int age) {
    32. this.age = age;
    33. }
    34. // 对外提供age属性的值
    35. public int getAge() {
    36. return age;
    37. }
    38. }

    举的例子其实就是个 标准的javabean类 (javabean类:用来描述一类事物的类,不需要写main方法,IDEA中快捷键是 Alt+Insert )

    2. 创建一个对象

    1. public class StudentTest{
    2. public static void main(String[] args){
    3. // 创建一个Student类对象
    4. Student std1 = new Student();
    5. //创建一个带参数的Student类对象
    6. Student std2 = new Student("zangsan",23);
    7. }
    8. }

    3. 访问变量和方法

    1. public class StudentTest{
    2. public static void main(String[] args){
    3. // 创建一个Student类对象
    4. Student std = new Student();
    5. std.setName("lisi");
    6. std.setAge(24);
    7. String name = std.getName();
    8. int age = std.getAge();
    9. System.out.println(”姓名:“+name+” “+”年龄:“+age)
    10. }
    11. }

    some tips:

    (1)构造方法

    以三个问题回顾一下构造方法:

    Q A
    构造方法的作用? 创造对象的时候,由 虚拟机自动调用 ,给成员变量进行初始化的
    构造方法有几种? 无参构造方法:初始化的对象时,成员变量的数据均采用默认值。
    有参构造方法:在初始化对象的时候,同时可以为对象进行赋值。
    构造方法的注意事项? (1)任何类定义出来,默认就自带了无参数构造器
    (2)定义了有参构造器,无参数构造器就没有了
    (3)建议在任何时候都手动写上 空参和带全部参数 的构造方法

    (2)this关键字

    可以 区分成员变量和局部变量 ,与python中的self相似;

    代表方法调用者的地址。

    this的内存原理如下:

    (3)private关键字

    • private关键字是一个权限修饰符,可以修饰成员(成员变量和成员方法);
    • 被private修饰的成员 只能在本类中才能访问 ;
    • 针对private修饰的成员变量,如果需要被其他类使用,提供相应操作,如:提供setXxx(参数)方法**,用于给成员变量赋值,方法用public修饰;提供 getXxx()方法 ,用于获取成员变量的值,方法用public修饰。

    面向对象三大特性:封装,继承

  • 相关阅读:
    Linux下的命令行参数和环境变量
    【付费推广】常见问题合集,激励规则FAQ
    65. 使用事物码 SAT 查找某个 SAPGUI 事物码操作调用的 Function Module 列表
    前端性能优化:启用 gzip
    生产力工具如何选择?印象笔记 Verse、Notion、FlowUs
    VK/D3D12_Visibility Buffer架构流程实现
    JDBC进行批量插入数据操作
    UE4游戏保存
    2021年全国职业院校技能大赛高职组“软件测试”赛项—“阶段二竞赛任务书”
    [大家的项目]【编译时 ORM rbatis V4.0 现已发布!第1篇】
  • 原文地址:https://blog.csdn.net/guanshengg/article/details/126477991