1 面向对象
1.1 面向对象思想概述
Java是一种面向对象的高级编程语言。
面向对象:是用代码去高度模拟现实世界的事物,从而让软件为任务处理业务,为人类服务。
高级语言:代码看起来很像人类的自然语言。
面向对象最重要的两个概念:类和对象。
类是相同事物共同特征的描述。类只是学术上的一个概念并非真实存在的,只能描述一类事物。
对象:是真实存在的实例。 实例==对象。
结论:有了类和对象就可以描述万千世界所有的事物。必须先有类才能有对象。
2 java类
2.1 类中成分
类中的成分:有且仅有五大成分(五大金刚)
修饰符 class 类名{
1.成员变量(Field): 描述类或者对象的属性信息的。
2.成员方法(Method): 描述类或者对象的行为信息的。
3.构造器(Constructor): 初始化一个对象返回。
4.代码块
5.内部类
}
类中有且仅有这五种成分,否则代码报错!
2.2 构造器
格式:修饰符 类名(形参列表){
}
作用:初始化类的一个对象返回。
构造器的分类:无参数构造器,有参数构造器。
构造器的注意点:一个类默认自带一个无参数构造器,但是如果写了有参数构造器那么
默认的无参数构造器就消失了,此时如果还需要用无参数构造器就需要自己从新写一个。
构造器初始化对象的格式:
类名 对象名称 = new 构造器;
Student s = new Student();
无参数构造器的作用:初始化一个类的对象(使用对象的默认值初始化)返回。
有参数构造器的作用:初始化一个类的对象(可以在初始化对象的时候为对象赋值)返回。
2.3 this关键字
this关键字代表了当前对象的引用。
this可以出现在方法,构造器中。
this出现在方法中:哪个对象调用这个方法this就代表谁。
1 public void setName(String name) { 2 // 哪个对象调用setName方法,this就代表谁。 3 this.name = name; 4 }
this可以出现在构造器中:代表构造器正在初始化的那个对象。
1 public Pig(String name, int age) { 2 // this在构造器代表构造器正在初始化的那个对象。 3 this.name = name; 4 this.age = age; 5 }
this可以区分变量是访问的成员变量还是局部变量。
2.4 static关键字
Java是通过成员变量是否有static修饰来区分是类的还是属于对象的。
static == 静态 == 修饰的成员(方法和成员变量)属于类本身的。
按照有无static修饰,成员变量和方法可以分为:
成员变量:
1.静态成员变量(类变量):
有static修饰的成员变量称为静态成员变量也叫类变量,属于类本身的,
直接用类名访问即可。
2.实例成员变量
无static修饰的成员变量称为实例成员变量,属于类的每个对象的,
必须用类的对象来访问。
成员方法:
1.静态方法
有static修饰的成员方法称为静态方法也叫类方法,属于类本身的,
直接用类名访问即可。
2.实例方法
无static修饰的成员方法称为实例方法,
属于类的每个对象的,必须用类的对象来访问。
小结:
成员变量有2种
1.有static修饰的属于类叫静态成员变量,与类一起加载一次,直接用类名调用即可。
2.无static修饰的属于类的每个对象的叫实例成员变量,
与类的对象一起加载,对象有多少个,实例成员变量就加载多少份。必须用类的对象调用。
成员方法有2种:
1.有static修饰的属于类叫静态方法,直接用类名调用即可。
2.无static修饰的属于类的每个对象的叫实例方法,必须用类的对象调用。