基础day06-Java面向对象基础

  1. 关于面向对象的特点:
    1. 角色发生了转换,将我们从指挥者变成了执行者
      1. 在面向对象编程中,我们通过创建对象并定义对象之间的关系,来实现程序的功能。我们成为了执行者,负责创建对象、调用方法等,从而完成程序的执行。
    2. 可以将复杂的事情简单化
    3. 是一种更符合我们思考习惯的思想
  2. 类和对象的关系
    1. 类可以看作是对象的模板或者蓝图,定义了对象的结构和行为
    2. 对象是类的实例,也是类的具体实现
    3. 类和对象之间是一种包含关系
      1. 类包含了一组具有相似特征和行为的对象的共性
      2. 一个类可以创建多个对象,这些对象共享了类定义的属性和行为
      3. 举例来说,如果有一个类 Person,它定义了人的特征和行为(比如姓名、年龄、工作等),那么具体的人(比如小明、小红)就是 Person 类的对象。
  3. 成员变量和局部变量的关系
    1. 在一个类中,成员变量和成员方法的定义顺序并没有强制要求,可以根据需要灵活安排
    2. 成员变量有默认初始化值,局部变量没有默认初始化值
    3. 成员变量在整个类中都可以使用,局部变量只能在所属的方法中使用
    4. 成员变量被定义在类中方法外,局部变量被定义在方法声明上或者方法内部
    5. 成员变量存储在堆内存中,因为它们随着对象的创建而分配内存,并随着对象的销毁而释放
    6. 局部变量存储在栈内存中,因为它们随着方法的执行而临时分配内存,当方法执行结束后就会释放
  4. 关于private的描述
    1. 被private修饰的成员变量和成员方法,只能在本类中使用,不能在其他类中直接访问
    2. private是一个修饰符,可以完成类对成员变量的封装,防止外部非法访问
    3. 类的成员变量被private修饰,如果想让成员变量被其他类使用,可以为成员变量提供对应public的setXxx和getXxx方法
    4. 除了成员变量,private 也可以用来修饰方法,使得方法只能在当前类中被访问
  5. 关于this的描述
    1. this的使用场景:成员变量和局部变量重名
    2. 当局部变量和成员变量重名时候,直接写变量名代表局部变量
public class Person {
    String name; // 成员变量

    public Person(String name) {
        this.name = name; // 使用this关键字将参数name赋值给成员变量name
    }

    public void printName(String name) {
        System.out.println("局部变量name:" + name); // 输出方法的局部变量name
        System.out.println("成员变量name:" + this.name); // 使用this关键字访问成员变量name
    }

    public static void main(String[] args) {
        Person person = new Person("John");
        person.printName("Mike");
    }
}

  1. 关于构造方法的描述
    1. 构造方法必须和类名一致
    2. 同一个类的多个构造方法,可以构成方法重载
    3. 构造方法的返回值类型不能指定具体的类型,它实际上没有返回值类型,甚至不能指定为 void。构造方法的作用是初始化对象,而不是返回值
    4. 定义一个类,如果没有定义构造方法,那么这个类没有构造方法
    5. 当定义了带参数的构造方法,系统默认的不带参数的构造方法依然会自动提供
    6. 构造方法可以使用 return 语句来提前结束方法的执行,并且可以返回一个值(通常用于特殊情况下的处理)
    7. 构造方法的访问修饰符可以是 public、protected、private 或者默认(即不写修饰符),根据需要来设定
  2. 标准类的定义
    1. 成员变量私有
    2. 提供公共setter和getter方法
    3. 提供public修饰的空参构造和满参构造
  3. == 和 equals的区别
    1. 对于基本类型,==比较的是值是,对于引用类型,==比较的是内存地址
    2. equals的方法在String或者Integer等类中会被重写,比较的是内容
    3. 默认情况下,equals 方法和 == 一样,比较的是对象的内存地址,即比较引用是否相等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java基础语法中,标识符是由程序员自己规定的代表一定含义的单词。标识符可以用于标识变量、方法、类等。主要注意的是,标识符不能修改,而且其中的main是一个特殊的标识符,无法自己规定。 在Java基础部分的相关知识讲解中,也包括了关于标识符的内容。 如果你想要判断一个字符串是否是合法的Java标识符,可以使用以下代码作为参考: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner reader = new Scanner(System.in); while (reader.hasNext()) { int flag = 1; String str = reader.nextLine(); char ch; ch = str.charAt(0); int len = str.length(); if (Character.isJavaIdentifierStart(ch)) { for (int i = 1; i < len; i++) { ch = str.charAt(i); if (!Character.isJavaIdentifierPart(ch)) { flag = 0; break; } } } else { flag = 0; } if (flag == 0) System.out.printf("false\n"); else System.out.printf("true\n"); } reader.close(); } } ``` 这段代码可以读取用户输入的字符串,并判断其是否是合法的Java标识符。如果是合法的标识符,则输出true,否则输出false。 希望以上内容能够帮助到你。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【零基础学Java】Day-02 基础语法--标识符](https://blog.csdn.net/qq_52681453/article/details/126020455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java基础[02-Java基础语法1].ppt](https://download.csdn.net/download/xiaoyoupei/13206691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [2021级-JAVA02 基础语法1--标识符、常量与变量、数据类型、运算符与表达式](https://blog.csdn.net/weixin_62455462/article/details/126696523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值