1.1 面向对象的设计基本概念1.1 面向对象的设计基本概念
面向对象是目前最为流行的程序设计方法,其基本思想是使用对象\类\继承\封装等基本概念来进行程序设计.
1.2 理解面向对象:
面向对象是相对于面对过程而言的.面向对象和面向过程都是一种思想.
面向过程强调的是功能行为 而面向对象强调的是:将功能封装成对象,强调了具备功能的对象.
1.3:面向对象的特点:
是符合人们思考思考习惯的思想
可以将复杂的事情简单化
将程序员从执行者转换成了指挥者
1.4:面向对象开发,设计,特征
开发的过程:其实就是不断的继承对象,使用对象,指挥对象做事情.
设计的过程:其实就是管理和维护对象之间的关系
面向对象的特征: 封装 继承 和 多态
封装:就是把对象属性(数据)和行为(方法)包装成一个独立的单位,尽可能隐蔽内部的实现细节,对外仅仅提供对外的接口.
继承:利用继承可以在原有的类的基础上创建新的类,并可以直接使用原有的类的方法和属性,这样要比重新建新类要简单的多.利用继承可以减少相似类的重复创建.
多态:虽然java语言不支持多态,但是java支持接口,接口中的方法是抽象方法,任何实现接口的类都要具体实现接口方法,从而实现接口的类就有了同名的方法,但是方法实现各不相同,这样就实现了多态.
1.5:类与对象的关系
使用计算机语言就是不断的在描述现实生活中的事物.
Java 中描述事物实现通过类的形式体现,类是具体事物的抽象
对象即是该类事物实实在在存在的个体
定义一个简单的类: 如下
public class test
public static void main(String[] args) {
System.out.println(“hello word”);
}
}
1.6:类的定义
生活中描述事物无非就是描述事物的属性和行为
Java中用类class来描述事物
属性::对应类中的成员变量
行为::对应类中的成员函数
定义类其实就是在定义类中成员(成员变量和成员函数)
1.7:成员变量和局部变量的区别
成员变量定义在类中,在整个类中都可以被访问.
成员变量随着对象的建立而建立,存在于对象所在的堆内存中.
成员变量有默认的初始化值
局部变量:
局部变量只定义在局部范围内,如函数,和语句.
局部变量存在于栈内存中
作为的范围结束,变量空间会自动释放
局部变量没有默认初始化值
1.8:创建对象和使用对象
class Bicycle{
int num;
String color = “red”;
Void show()
{
System.out.println(color + “::” + “num :“ +num);
}
}
Class BicycleDemo{
Public static void main(String [] args)
{
Bicycle b = new Bicycle(); //建立对象
b.color = “green”; //修改对象属性
b.show(); //使用对象功能
}
}
1.9 :匿名对象
匿名对象是对象的简化形式
匿名对象有两种使用情况:
当对象方法仅进行一次调用.
匿名对象可以作为实际参数进行传递
2.0 private (私有关键字)
Private 是一个权限修饰符.
用于修饰成员(成员变量和成员函数).
常用之一 :将成员变量私有化,对外提供set get 方法对其进行访问,提高对数据访问的安全性.
2.1 构造函数
函数名与类名相同
不用定义返回值类型
不可以写return 语句
作用::给对象进行初始化 .
注意:多个构造函数是以重载的方式存在的
2.2 this 关键字
This代表其所在函数所属对象的引用,this 代表本类对象的引用
什么时候用this关键字
当在函数内需要用到调用该函数对象时,用this.
2.3 static 关键字
用于修饰成员(成员变量和成员函数)
被修饰后的成员具备如下特点:
随着类的加载而加载,优先于对象存在,被所有对象所共享,可以被类名直接调用.
使用注意 :
静态方法只能访问静态成员 .
静态方法中不可以写 this super 关键字
主函数是静态的
总结:
主要是讲述了一些关于对象,类,继承,接口等概念的使用,面向对象的优点之一是可以通过继承实现代码的复用,节省了开发时间,程序员可以选择已经被验证正确的代码;java中不允许多重继承,接口实现了java中多继承,可以将接口理解为抽象类.