面向过程:当须要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每个细节。学习
面向对象:当须要实现一个功能的时候,不关心具体的步骤,而是找一个已经具备该功能的人,来帮助我作。this
类:是一组相关属性和行为的集合,能够当作是一类事物的模版,使用事物的属性特性和行为描述该类事物对象
对象:是一类事物的具体体现,对象是类的一个实例,必然具有该类的属性和行为继承
面向对象的三大特征:封装、继承和多态生命周期
类的定义:public class ClassName{内存
成员变量;get
成员方法;编译器
}编译
示例代码:class
public class Student { String name; int age; public void eat(){ System.out.println("吃"); } public void sleep(){ System.out.println("睡"); } public void study(){ System.out.println("学习"); } }
注意:成员变量是直接定义在类当中的,在方法的外边。
成员方法不要写static关键字
类的使用:一个类并不能彻底使用,须要建立一个对象,才能使用。
使用的步骤:一、导包:须要指出须要使用的类在什么位置, import 包名称.类名称,对于和当前类属于同一个包的状况,能够省略导包语句
二、建立:类名称 对象名 = new 类名称();
三、使用:使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
示例代码:
public class Demo { public static void main(String [] args) { Student stu = new Student(); stu.name="读者"; stu.age=18; stu.eat(); System.out.println(stu.name+stu.age); } }
局部变量和成员变量的区别:一、定义的位置不同
二、做用范围不同
三、默认值不同
四、内存的位置不同
五、生命周期不同
面向对象的封装:一、方法就是一种封装
二、private也是一种封装
封装就是将一些细节信息隐藏起来,对于外界不可见。
一旦使用private进行修饰,那么本类当中仍然能够随意访问,可是超出本类范围以外的就不能在直接访问,能够经过创建get和set方法间接访问。
示例代码:
public class Student { String name; int age; boolean male; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isMale() { return male; } public void setMale(boolean male) { this.male = male; } }
注意:对于基本数据类型boolean,不使用get方法,而使用is方法,set方法不变。
当方法的局部变量和类的成员变量重名的时候,优先使用局部变量。所以要使用this来区分红员变量和局部变量
this的使用:this .成员变量名。记住谁调用的方法,this就是谁。
构造方法:专门用来建立对象的方法,当咱们用new来建立对象的时候,其实就是调用了构造方法。
构造方法的格式:public 类名称(参数类型 参数名){方法体;}
注意:一、构造方法的名称必须和所在的类名称彻底同样,就连大小写也同样。
二、构造方法不要写返回值类型,连void都不写
三、构造方法不能return一个具体的返回值
四、若是没有编写任何构造方法,那么编译器会默认一个构造方法,没有参数,方法体什么都不作
五、一旦编写了至少一个构造方法,那么编译器将再也不建立默认的构造方法
六、构造方法也能进行重载
示例代码:
public Student() { } public Student(String name, int age, boolean male) { this.name = name; this.age = age; this.male = male; }
标准的类由4个部分组成:一、全部的成员变量都要使用private进行修饰
二、为每个成员变量编写get和set方法
三、编写一个无参数的构造方法
四、编写一个全参数的构造方法
示例代码:
public class Student { String name; int age; boolean male; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isMale() { return male; } public void setMale(boolean male) { this.male = male; } public Student() { } public Student(String name, int age, boolean male) { this.name = name; this.age = age; this.male = male; } }