笔记:

  1. 构造方法:构造函数、构造器、构建器---------复用给成员变量赋初值代码

    • 作用:给成员变量赋初始值
    • 与类同名,没有返回值类型(连void都没有)
    • 在创建(new)对象时被自动调用
    • 若自己不写构造方法,则编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认提供
    • 构造方法可以重载
  2. this:指代当前对象,哪个对象调用方法它指的就是哪个对象

    ​ 只能用在方法中,方法中访问成员变量之前默认有个this.

    this的用法:

    • this.成员变量名-------------访问成员变量

      成员变量与局部变量同名时,若想访问成员变量则this不能省略

点击查看代码
  ```java
class Student {
String name; //成员变量(整个类中)
int age;
String address;
//局部变量(当前方法中)
Student(String name,int age,String address){
this.name = name;
this.age = age;
this.address = address;
} void study(){
System.out.println(name+"在学习...");
}
void sayHi(){
System.out.println("大家好,我叫"+name+",今
年"+age+"岁了,家住"+address);
}
}
```
  • this.方法名()-----------------调用方法(了解)

  • this()---------------------------调用构造方法(了解)

  1. null:表示空,没有指向任何对象,若引用的值为null,则该引用不能进行任何点操作了,若操作则发生NullPointerException空指针异常

  2. 引用类型数组:

点击查看代码
 ```java
1)Bomb[] bs = new Bomb[3];
bs[0] = new Bomb(100,200); //1)给元素赋值需要去new个对象
bs[1] = new Bomb(200,300);
bs[2] = new Bomb(220,330);
//2)若想访问对象的数据,需要通过数组元素去打点
bs[0].x = 111; //给第1个炸弹的x修改为111
System.out.println(bs[1].width); //输出第2个炸弹的宽
bs[2].move(); //第3个炸弹移动
</details>

补充:

1. 成员变量:写在类中,方法外--------有默认值

   局部变量:方法中------------------------没有默认值

2. java规定:成员变量和局部变量是可以同名的
- 使用的时候默认采取的是就近原则 3. 内存管理:由JVM来管理的
- 堆:new出来的对象(包括成员变量)
- 栈:局部变量(包括方法的参数)
- 方法区:-----------周四讲 4. 数组也是一个对象,所以数组对象也存储在堆中, 将数组的元素当作成员变量一并存储在堆中

最新文章

  1. Ubuntu杂记——链接ln的使用:创建和删除符号链接
  2. SQL Server COM 组件创建实例失败
  3. POJ 2104&amp;HDU 2665 Kth number(主席树入门+离散化)
  4. shiro-web整合
  5. SparkSQL使用之Thrift JDBC server
  6. 抓取Bing每日图片作为网站首页背景
  7. NuGet的使用和服务搭建
  8. plsql 把数据导出成为 .sql文件,记住了
  9. Django 邮件推送 解决附件中文名字乱码
  10. socket 网摘
  11. 自学JavaScript的几个例子
  12. 怎样写Makefile文件(C语言部分)
  13. 桌面应用之electron开发与转换
  14. Python3中urllib模块的使用
  15. Docker install GitLab
  16. 【python中二叉树的实现】python中二叉树的创建、三种方式递归遍历和非递归遍历
  17. Hibernate validator使用和自定义validator及整合Spring MVC
  18. 你不知道的JavaScript(1)LHS查询和RHS查询
  19. 用图来教你怎样用Photoshop蓝底转换红底
  20. WebService 获取当前URL

热门文章

  1. 使用本地自签名证书为 React 项目启用 https 支持
  2. go thrift 开发
  3. netty系列之:netty中常用的xml编码解码器
  4. ReentrantLock可重入、可打断、Condition原理剖析
  5. netty系列之:使用Jboss Marshalling来序列化java对象
  6. 透过实例demo带你认识gRPC
  7. Java异常处理最佳实践
  8. [2021-TKK 暑期训练第一场] 1585:下馆子-3
  9. 基于SqlSugar的开发框架循序渐进介绍(5)-- 在服务层使用接口注入方式实现IOC控制反转
  10. Hadoop常见shell命令