1.面向对象的概念:
是一种以事物为中心的编程思想。面向对象程序设计(oop),它将对象作为程序的基本单元,
将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性
2.面向对象的特征:
1.封装 (安全性)
2.继承
3.多态
3.面向对象和面向过程的不同点:
面向对象是在对象的角度去看待问题,c语言只是一个过程罢了
4.使用java来描述事物:
属性:类中的成员变量
行为:类中成员方法
类的定义:使用class关键字定义类:
类的一些规则:
1. class空格 类名。类名就是标识符,命名规则,单词的首字母大写,
多个单词的首字母大写。注意:不是规定,但是最好遵守
2. 类名后紧跟一对{}表示类的开始和结束
对象的创建:
1. 使用new关键词,就像new数组一样
2. 需要给型的汽车起一个名字,
3. 调用那些方法
5.成员变量和局部变量的区别:
成员变量: 定义在类中变量
局部变量: 定义在方法中变量
区别:
1.使用的范围:
1.成员变量的在整个类中都有效
2.局部变量只在其声明的方法内有效
2.声明周期: ch
1. 成员变量: 它属于对象,它随着对象的创建而创建,随着对象的消失而消失
2. 局部变量: 使用完马上释放空间。
3. 存储位置
成员变量属于对象,它存储在堆内,堆内的实体,当没有引用指向其时,才垃圾回收清理 局部 变量存在栈内存中,当不在使用时,马上就会被释放
4.初始值:
成员变量它存储在堆中,如果没有赋初值,它有默认值。
1. 整数byte、short、int、long =0;
3. boolean =flase;
4. String =null;
5. 类类型 =null;
6. 数组 =null;
局部变量,如果要想使用必须手动初始化.
6.匿名对象:
1.没有名字的实体,也就是该实体没有对应的变量名引用。
2.匿名对象的用途:
1 ,当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。
为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。
如果对象要多成员进行多次调用,必须给对象起个名字。不能在使用匿名对象。
2,匿名对象可以实际参数进行传递
7.封装的使用:
1:隐藏了类的具体实现
2:操作简单
3:提高对象数据的安全性
8.访问修饰符的作用域:
当前类 同一个包 子类中 全局
public: 可以 可以 可以 可以
protectd: 可以 可以 可以 不可以
default: 可以 可以 不可以 不可以
private: 可以 不可以 不可以 不可以
9.构造方法:
默认就提供了无参数构造方法 (和类名一样,初始化的使用被调动)
如下所示定义构造方法:
public classgaunjianzi {
//成员变量
publicStringname;
public intage;
//构造方法
gaunjianzi(){
System.out.println("无参数构造方法");
}
//构造代码块
{
System.out.println("构造代码块");
}
gaunjianzi(String n){
name= n;
System.out.println("有参数构造方法1");
}
gaunjianzi(String n,inta){
name= n;
age= a;
System.out.println("有参构造方法2");
}