学习内容:
1.this 关键字
在Java中,用户可以通过 this 关键字访问类中的属性、方法
(1)访问属性
1 package day01; 2 public class ThisDemo{ 3 int x=5; 4 public ThisDemo() { 5 //通过this访问属性 6 System.out.println(this.x); 7 } 8 public static void main(String[] args) { 9 ThisDemo demo =new ThisDemo(); 10 } 11 }
结果为:5
(2)this 关键字与构造器结合使用
1 package day01; 2 public class ThisDemo{ 3 int x=5; 4 public ThisDemo(int x) { 5 //this.x指的是属性x 6 //方法传入的x,指的是形参x 7 this.x=x; 8 } 9 public static void main(String[] args) { 10 ThisDemo demo =new ThisDemo(9); 11 System.out.println(demo.x); 12 } 13 }
通过构造器可以给属性传值,以及初始化属性值
this ()是指调用本类中的无参数构造器
this (x) 是指调用本类中的有参构造器,可以将 ( ) 看成是方法。如果 this ()什么都不写,就是调用本类中的无参构造方法,如果里面有参数,则是调用本类中的有参构造器,一个参数是调用本类中带一个参数的构造器,多个参数则是调用多个参数的构造器。
2.变量的作用域和生存期
变量可以分为两种:一种是全局变量,另一种是局部变量。全局变量的作用域是从变量定义开始,一直到类结束,范围包括整个类。局部变量是定义在方法内部的,因此,它的作用域是从定义开始,到方法尾结束
3.包
(1)包的命名
要想使定义的包名不会和其他人定义的包名重复,最好采用公司域名的倒写形式命名包,在实际开发中,经常是采用这种命名方法
在Java中建议包名全部小写,不管包是不是由多个单词构成
package com.apple
(2)用包导入类型
如果两个类分别定义在不同的包中,那如何互相调用类中的方法和属性呢?这时候要导入包中的类,导入包中的类有两种方式
- 导入包中所有的类:import 包名 . * ;
- 导入包中具体的类:import 包名 . 类名 ;
1 package com.wuzy.entity; 2 public class Person { 3 private String name; //姓名 4 private int age; //年龄 5 public String getName() { 6 return name; 7 } 8 public void setName(String name) { 9 this.name=name; 10 } 11 public int getAge() { 12 return age; 13 } 14 public void setAge(int age) { 15 this.age=age; 16 } 17 } 18 19 20 package com.wuzy.service; 21 import com.wuzy.entity.Person; 22 public class Service { 23 public static void main(String[] args) { 24 Person p=new Person(); 25 p.setName("张无忌"); 26 p.setAge(20); 27 String name = p.getName(); 28 int age = p.getAge(); 29 System.out.println("name="+name+",age="+age); 30 } 31 }
(3)编译包
编译包有两种方式:
1、用命令行的方式编译
Javac -d . 类名 . java
-d : 创建目录 . : 当前目录
还可以事先创建好文件夹,然后进入文件夹下编译
2、用 Eclipse 编译和运行
在Eclipse 中,只要保存就是编译
遇到的问题:
this 指针的使用方法不明确
https://blog.csdn.net/twlkyao/article/details/34082259
https://blog.csdn.net/qq_37664986/article/details/78938978
明天要学习的内容:
4.6 枚举