java是一个面向对象的语言,面向对象的第一要义就是封装,所谓封装其实c中就有,函数就是封装,结构体。
java中,有了类的概念,人以类聚,物以群分的思想。
java起手就是一个类,然后就是上面讲的内容了,数据+算法
public class Animal{
private int age;
private String name;
public static String Country = "China";//静态变量
public static final double PI = 3.1415926;//常量}
//除了常量和static修饰的,都要被private修饰
//static修饰的变量,又叫做静态变量,或者是类变量,调用的时候,使用类名.变量 的方式。
//常量我们也是通过类名.变量名的方式调用
//当然,他可以被对象引用调用,但是一般情况下我们都不这么做
//方法
//1 构造方法
//2 成员方法
//3 静态方法
(1)第一类构造方法,就是当类中没有任何构造方法的时候,系统会给一个默认无参构造
(2)如果,在一个类中只有有参构造,没有显示的定义无参构造。在使用的时候不能调用无参构造,也就是说系统不会再为你分配一个无参构造。即,该类会被认为是一个没有无参构造方法的类。如果要使用无参构造,必须要程序员显示定义无参构造。
(3)构造方法,不需要写返回值类型。构造方法的返回值存在,其类型为类所代表的类型。实际上类只是一种特殊的数据类型。他包含了一些基本数据类型和引用类型,同时还包含了一些方法。构造方法实际上返回的是“this”。
(4)构造方法是一个可以重载[^1]的方法。
public Chinese(int age){
this.age = age;
}
public class Test{
public static void main(String[] args)
{
Chinese zhangSan = new Chinese;
System.out.println(zhangSan);
}
}
this关键字的意义:代表当前对象。
this关键字的应用:当成员变量和局部变量重名,可以用this区分,如:
class world{
private animal;
World(String animal){
this.animal = animal;
}
}
this可以在构造函数中调用其他构造函数。(注意只能定义在构造函数的第一行,因为初始化动作要先执行。)如:
class World{
private animal;
private num;
World(String animal){
this.animal = animal;
}
World(String animal,int num){
this();
this.animal = animal;
this.num = num;
}
}
[^1]重载的定义:同一个类中,多个方法的方法名字相同,多个方法的区别在于或参数列表不同,或参数个数不同, 或参数的数据类型不同,或不同数据类型的参数顺序不同。方法的重载和修饰符、有无返回值、返回值类型、参数名无关。