1.this关键字
用途: 调用成员变量和成员方法
用法:对象.成员变量 对象.成员方法
this关键字引用就是对象的引用
this关键引用构造方法
2.成员变量
Java中成员变量也叫对象的属性
class Book{
String name;//成员变量(类的属性)
}
3.成员方法
格式: 权限修饰符 返回值类型 方法名(参数类型 参数名){
//方法体
return 返回值;}
class Book{
String name;//成员变量(类的属性)
void setName(String name){
//成员方法(类的行为)}
}
4.权限修饰符
控制对类的成员变量,成员方法的访问
private 只能在本类中使用,在其他类中不可见(包括子类)
public 对其他类可见
protected 对其他类不可见(同包中的类或子类可以访问该类中的成员变量和成员方法)
默认 没有任何修饰符
5.局部变量
在方法中创建的
局部变量必须赋值或者初始化,否则会出现编译错发
class Book{
String name;//成员变量(类的属性)
void setName(String name){
//成员方法(类的行为)
int i = 0; //局部变量
}
}
6.局部变量的有效范围
只能在定义局部变量的方法
成员方法结束 局部变量就被销毁
7.对象
事物存在的实体为对象 如人类,鸟类
对象分为两类:静态部分 动态部分
静态部分:对象具有的属性(状态) 人的升高,体重,胖瘦
动态部分:对象的行为 说话,行走
类是封装对象行为和属性的载体,对象是类抽象出来的实体
对象的创建
Java语言中通过new关键字创建对象
在构造方法中每实例化一个对象就会调用一个构造方法,这个过程就是创建对象的一个过程
对象名与类名相同
public class CreateObject{
public CreateObject(){//构造方法
System.out.println("创建对象");
}
public static mian(String args[]){//主方法
new CreateObjecte();
}
}
访问对象的属性和行为
对象创建后可以使用,对象.类成员 来获取对象的属性和行为
对象的比较
Java中两种对象比较的方式
“==”:比较对象在内存中的位置
equals()方法:比较对象的内容
对象的引用
内存分为:堆,栈。
对象在堆中创建,栈相当于一个引用,由栈引向堆里面的一个具体的对象。
操作符的实质为一个引用。
类名 对象引用名
Book book;
对象的销毁
每个对象都有生命周期,当生命周期结束,分配给该对象的内存地址将会被收回
其他语言中需要手动收回,Java有一套完整的 垃圾回收机制,所以废弃的对象不会占用内存。
8.类
具有相同属性与行为的一类实体 称为类
对象是类宏观上的实体
类的构造方法
特点:没有返回值类型
构造方法的名称与本类名相同
public class A{
public A(){
//无参数的构造方法
this("mr");//可以调用有参数的构造方法
}
public A(String name){
有参数的构造方法
}
}
Java语言中事物的行为以方法的形式定义,属性以成员变量的形式定义
类的主方法
程序的入口
类的主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须是静态的
主方法无返回值
主方法的形参为String类型的数组,args[0]~ args[n]分别代表程序的第一个参数到n个参数,可以使用args.length获取参数的个数。
public static void main(String []args){
//方法体
}
9.
封装
封装是面向对象编程的核心思想,把对象的行为和属性定义在一个类中叫封装,反过来说,类是封装对象和行为的载体。
类通常对客户隐藏细节,这就是封装的思想。
举例:手指敲击键盘可以实现一些功能,用户无需知道电脑内部是如何工作的。
继承
代表类和类之间的一种关系
Java中只有单继承,一个子类只能继承一个父类,不能同时继承两个父类
多态(需要一定的编程经验才能帮助理解)
多态性允许以统一的风格编写程序,处理种类繁多的已存在的类以及相关类,该风格由父类实现,根据父类统一风格的处理,就可以实现实例化子类
整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类方法即可,降低了维护难度,节省时间
多态的实现不依赖具体的类,而是依赖于抽象类和接口
10.静态变量,常量和方法
用static修饰变量,常量,方法
math.PI 调用PI 静态的类型的
无需创建实例,可以直接调用