Java_Day5(面向对象,类的定义,对象的创建和使用)

1.面向对象

优点:耦合性低,扩展性强,组件复用性强。
缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统设计。
面向过程
优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本低。
缺点:很难解决非常复杂的业务逻辑,耦合性高,造成扩展性差,没有独立提的概念,无法达到组件复用。

  • 面向对象的三大特征:
    封装,继承,多态。
    采用面向对象的方式开发一个软件,生命周期当中,基于面向对象分为三个阶段:
    面向对象的分析:OOA
    面向对象的设计:OOD
    面向对象的编程:OOP
    什么是类?
    现实世界当中不存在,是一个模板,是一个概念,是人类大脑思考抽象的结果,将具有共同特性的对象抽象出来的模板,这个模板叫做类。
    什么是对象?
    对象是实际存在的个体,现实世界当中实际存在。是类的一个实体。
    软件开发过程:
    在现实世界中,观察对象,将具有相同特征的对象,通过JAVA语言,定义一个类,即模板。然后通过类就可以创建对象,有了对象之后,可以让对象直接协作起来形成一个系统。
  • 类的实例化为对象。
  • 对象抽象化为类。
    重点:类描述的是对象的共同特征,属性和方法,在访问其对象的时候,必须先创建对象,通过对象去访问这个特征。因为属性和方法对应某个对象之后,值不同(属性),打篮球的是否能灌篮不同(方法),但他们都有身高,都会打篮球。

2. 类的定义

结构:
[修饰符列表] class 类名{
属性:
方法:
}
引用数据类型:String.class(sun提供)
Student.class 自定义
类是引用数据类型。跟基本数据类型区分开来。

3.对象的创建和使用

  • 成员变量(实例变量)需通过创建对象去访问,当创建对象后,变量的内存空间才会创建。
  • 实例化对象语法:new 类名();
    Student s = new Student();
    s为局部变量(s在栈内存中)s为引用,是对象在堆内存的地址,所以s不是对象。
  • 什么是对象?
    new运算符在堆内存中开辟的内存空间称为对象。
  • 什么是引用?
    引用是一个变量,只不过这个变量中保存了另一个java对象的内存地址。
    注意:
    *java语言当中,程序员不能直接操作堆内存,java屏蔽了指针,不像c语言。
    *在java中,只能通过“引用”‘去访问堆内存当中对象内部实例变量。
  • new是java运算符
  • new运算符的作用是创建对象,在JVM堆内存当中开辟新的内存空间。
  • 方法区内存:在类加载的时候,class字节码代码片段被加载到该内存空间中。
  • 栈内存:方法代码执行的时候,会给该方法分配栈内存空间。
  • 堆内存:new的对象在堆内存中存储。

读取数据

语法:引用.变量名(很像c语言的结构体)。

  • 局部变量在栈内存中存储。
  • 成员变量中的实例变量在堆内存的java对象内部存储。实例变量是一个对象一份。
  • 对象中的实例变量只有通过对象才能访问,不能直接通过“类名”访问。
  • 类为引用数据类型,可以声明变量,故自定义的类可以声明变量。如String即为引用数据类型,其为sun公司定的。
    public class Adress{
    String city;
    String town;
    }
    public class user{
    int age;
    String name;
    Adress addr;
    }
    public class firstOO{
    user u = new user();
    u.age = 10;
  • u.addr = new Address();//等价于Address a= new Address();u.addr=a;
    //访问城市
    u.addr.city = “Shanghai”;
  • }
    u.add是一个引用。其保存了对象Address的地址。
    引用时一个变量,变量包括局部变量和成员变量。
发布了50 篇原创文章 · 获赞 8 · 访问量 3080

猜你喜欢

转载自blog.csdn.net/jiahuan_/article/details/104863740