学习内容:

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 }

 通过构造器可以给属性传值,以及初始化属性值

java的this指针使用 this指针 java_System

 this ()是指调用本类中的无参数构造器

java的this指针使用 this指针 java_构造器_02

 

 this (x) 是指调用本类中的有参构造器,可以将 ( ) 看成是方法。如果 this ()什么都不写,就是调用本类中的无参构造方法,如果里面有参数,则是调用本类中的有参构造器,一个参数是调用本类中带一个参数的构造器,多个参数则是调用多个参数的构造器。

2.变量的作用域和生存期 

变量可以分为两种:一种是全局变量,另一种是局部变量。全局变量的作用域是从变量定义开始,一直到类结束,范围包括整个类。局部变量是定义在方法内部的,因此,它的作用域是从定义开始,到方法尾结束

3.包 

(1)包的命名

要想使定义的包名不会和其他人定义的包名重复,最好采用公司域名的倒写形式命名包,在实际开发中,经常是采用这种命名方法

在Java中建议包名全部小写,不管包是不是由多个单词构成

package  com.apple

(2)用包导入类型

如果两个类分别定义在不同的包中,那如何互相调用类中的方法和属性呢?这时候要导入包中的类,导入包中的类有两种方式

  1. 导入包中所有的类:import 包名 . * ;
  2. 导入包中具体的类: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. : 当前目录

还可以事先创建好文件夹,然后进入文件夹下编译

java的this指针使用 this指针 java_构造器_03

 

 2、用 Eclipse 编译和运行

 在Eclipse 中,只要保存就是编译 

遇到的问题:

this 指针的使用方法不明确