Java对象的引用和实体
类所声明的变量被称为对象,对象也就是变量负责存放引用,以确保对象可以操作分配给该对象的变量以及调用类中的方法,分配给对象的变量被称作对象的实体。
举个例子:
Point point = new Point()
Point:类名
point:对象名称
new Point():对象的实体
对象的引用就是存放对象的内存地址。
Java参数传递问题
对于两个相同类型的引用型变量,如果具有同样的引用,就会拥有同样的实体
如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化;
但是,改变参数中存放的“引用”不会影响向其传值的变量中存放的“引用”。
在声明成员变量时,用关键字static给予修饰的称作类变量,
类变量也称为static变量或静态变量,而没有用关键字static给予修饰的称作实例变量。
在方法声明时,方法类型前面不加关键字static修饰的是实例方法,
加关键字static修饰的是类方法,也称为静态方法。
Java中存在两种多态:重载(Overload)和重写(Override),方法重载是两种多态的一种。
Java this关键字
this是Java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中。
实例方法
格式: this.成员变量;
类名.成员变量;
例子:
class A {
int x;
static int y;
void a() {
this.x = 10;
A.y = 20;
}
}
class A {
int x;
static int y;
void a() {
x = 10; //省略this.
y = 20; //省略类名.
}
}
class B {
void b() {
this.c();
B.d();
}
void c() {
System.out.println("hi");
}
static void d() {
System.out.println("ok");
}
}
class B {
void b() {
this.c();
B.d();
}
void c() {
System.out.println("hi");
}
static void d() {
System.out.println("ok");
}
}
构造方法
例子:
public class People {
int leg,hand;
String name;
People(String s) {
name = s;
this.init(); //可以省略this.,即写成init();
}
void init() {
leg = 2;
hand = 2;
System.out.println(name+"有"+hand+"只手"+1eg+"条腿");
}
public static void main(String args[]) {
People boshi = new People("苏生");
}
}
包语句
通过关键字package声明包语句,包语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包即为该源文件中声明的类指定包名,package语句的一般格式为
package 包名;
Java import语句
处理两个类不在同一个包中的情况
java.lang包含所有的基本语言类
java.io包含所有的输入输出类
java.util包含实用类
java.sql包含操作数据库的类
java.net包含所有实现网络功能的类
Java访问权限
私有变量和私有方法
class Tom {
private float weight; //weight是private的float型变量
private float t(float a,float b) { //方法t是私有方法
return a+b;
}
}
共有变量和共有方法
class Tom {
public float weight; //weight是public的float型变量
public float t(float a,float b) { //方法t是共有方法
return a+b;
}
}
受保护的成员变量和受保护的方法
class Tom {
protected float weight; //weight是protected的float型变量
protected float t(float a,float b) { //方法t是受保护的方法
return a+b;
}
}
友好变量和友好方法
不用关键字private、public、protected修饰的成员变量和方法被称为友好变量和友好方法。
class Tom {
float weight; //weight是友好的float型变量
float t(float a,float b) { //方法t是友好方法
return a+b;
}
}
Java基本类型的类封装
Java jar文件
1. 使用当前应用程序所在目录中没有包名的类:
对于当前应用程序所在目录中没有包名的类,可直接加载使用。
2. 使用Java运行环境中类库中的类:
Java运行环境所提供的类库中的类都是有包名的,应用程序必须使用import语句引入相应包中的类。
3. 使用应用程序当前目录的子孙目录中的类:
应用程序当前目录下的子孙目录可以作为用户自定义包的包名,具有该包名的类必须存放在这些子孙目录中,应用程序就可以使用import语句引入用户自定义包中的类。
4. 使用Java运行环境扩展中的类:
我们可以使用jar.exe命令把一些类的字节码文件压缩成一个jar文件,然后将这个jar文件存放到Java运行环境的扩展中,即将该jar文件存放在JDK安装目录的jre\lib\ext文件夹中,这样,Java应用程序就可以使用这个jar文件中的类来创建对象。