类和对象的知识总结

来源:互联网 发布:胡杏儿黄宗泽爱情知乎 编辑:程序博客网 时间:2024/05/21 23:00

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中多继承,可以将接口理解为抽象类.

 

0 0