Java面向对象之方法块+this关键字

简介: ## this关键字的使用 1.是一个关键字(指代词) 代替的是某一个对象 (当前调用属性或方法时的那个对象) 2.this既然代替的是一个对象 this可以调用什么? 属性 方法 可以 this可以调用构造方法么? 可以 在一个构造方法内可以调用另一个构造方法 通过this(); 省略了构造方法的名字(必须与类名一致) 必须在另一个构造方法内调用 必须在程序的第一行 构造方法 一般方法 有顺序 认为构造方法早于一般方法 在一般方法内调用构造方法呢? 不行 构造方法可以重载 构造方法 调用另一个构造方法呢? 3.this调用的过程可以

## this关键字的使用

1.是一个关键字(指代词)  代替的是某一个对象  (当前调用属性或方法时的那个对象)

2.this既然代替的是一个对象

 this可以调用什么?  属性  方法  可以

 this可以调用构造方法么?  可以  在一个构造方法内可以调用另一个构造方法

 通过this();  省略了构造方法的名字(必须与类名一致)

 必须在另一个构造方法内调用  必须在程序的第一行

 构造方法  一般方法  有顺序 认为构造方法早于一般方法

 在一般方法内调用构造方法呢? 不行

 构造方法可以重载  构造方法  调用另一个构造方法呢?

3.this调用的过程可以放置在哪个位置写?

 调用属性或方法 这一行代码 可以放置在类中的任何成员位置 上下顺序随意

## 类中的四个成员

1.属性 -- 静态描述特征(存值)

 权限修饰符 [特征修饰符] 属性类型 属性名字 [= 值];

2.方法 -- 动态描述行为(做事情)

 权限修饰符 [特征修饰符] 返回值类型 方法名字 ([参数列表]) [抛出异常] [{方法体}]

 最主要的是方法设计的参数及返回值问题  传递 调用 执行 内存

3.构造方法 -- 创建当前类对象(做事情 唯一的事情)

 权限修饰符 与类名相同的方法名 ([参数列表]) [抛出异常] {方法体}

4.程序块 -- 一个特殊的方法(没名 做事情 不用我们调用 构建对象之前调用)

 {方法体}

5.this关键字的使用

 用来代替某一个对象

 可以调用一般属性或一般方法  放置在任何类成员中

 可以调用构造方法  只能放在另一个构造方法内 只能放在程序的第一行

6.类的加载及对象的创建(内存原理 机制)image.png

image.png

  • 代码如下:
publicclassGZ {
publicStringname;
publicintage;
publicStringsex;
publicGZ(){
System.out.println("我是无参数的默认的构造方法");
        }
publicGZ(Stringname,intage,Stringsex){
System.out.println("我是带参数的构造方法");
//创建了一个对象(开辟空间)this.name=name;//如果属性与变量重名?this.age=age;
this.sex=sex;
//返回了创建的这个对象空间的引用        }
        {
System.out.println("我是一个程序块1 ");
        }
        {
System.out.println("我是一个程序块2");
        }
        {
System.out.println("我又是一个块3");
        }
publicvoidest(){
System.out.println("人类的吃饭方法");
        }
publicStringtellName(){
return"";
        }
    }
publicclassDemo {
publicstaticvoidmain(String[] args){
GZinput=newGZ();
input.age=20;
input.name="铁锤";
input.tellName();
input.est();
    }
}
目录
相关文章
|
18天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
66 4
|
28天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
48 17
|
22天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
63 2
|
25天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
14 2
|
30天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
20 3
|
1月前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
30天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
19 2
|
30天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
19 1
|
30天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
34 1
|
30天前
|
Java
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅。它们用于线程间通信,使线程能够协作完成任务。通过这些方法,生产者和消费者线程可以高效地管理共享资源,确保程序的有序运行。正确使用这些方法需要遵循同步规则,避免虚假唤醒等问题。示例代码展示了如何在生产者-消费者模型中使用`wait()`和`notify()`。
28 1
下一篇
无影云桌面