类的构造方法
特点:
1、没有返回值
2、名称与类名一样
如Book类的构造方法为:
public Book(/*参数*/){
//构造方法体
}
只有在类中没有定义任何构造方法时,编译器才会自动创建一个默认构造方法(不带参数)。
类的主方法
----等价于c++中的main函数,Java编译器通过主方法来执行程序。
public class TestMain{
//主方法是静态的,所以要在主方法中调用其他方法,则该方法也要是静态的。
public static void main(String[] args){
//函数体
//没有返回值
}
}
成员变量
如下所示在Book类中定义了2个成员变量id和name。成员变量在定义时可以设置初始值,也可以不设置。如果不设置初始值,则会有默认值。
public class Book{
private int id = 3;
private String name;
public String getName(){
int id = 0;//局部变量会屏蔽同名成员变量
setName("Java");
return id + this.name;
}
private void setName(String name){
this.name = name;
}
public Book getBook(){
return this;//Java中没有指针,this表示对象的引用
}
}
static用法
1、Java中局部变量不能声明为static。
2、Java类中static的意义和C++差不多,但类的静态成员用法是:类名.静态成员。而c++是:类名::静态成员。
3、在静态方法中不可以直接调用非静态方法。
4、在静态方法中不可以使用this关键字。
类的权限修饰符
private | protected | public | |
本类 | 可见 | 可见 | 可见 |
同包其他类或子类 | 不可见 | 可见 | 可见 |
其他包的类或子类 | 不可见 | 不可见 | 可见 |
对象
----对象的用法和c++一样
Java中只有一种对象的创建方法:
类名 对象名 = new 类名(参数);
Test mytest = new Test("a");
严格说new Test()是创建了一个对象,而mytest则是这个对象的引用。
String C1 = new String("abc");
String C2 = new String("abc");
String C3 = C1;
C2 == C3;//结果为false,==比较的是两个对象引用的地址是否相同
C2.equals(C3);//结果为true,equals比较的是对象的内容