Java教程

java基础学习笔记(三)万物皆对象

本文主要是介绍java基础学习笔记(三)万物皆对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

上次说到oop思维,这里简单做个介绍,与其他思维做个对比

OOA - 面向对象分析方法(Object-Oriented Analysis)

如:对人OOA

                1、属性:年龄,性别,身份证,姓名

2、行为:走路,吃饭,跑步

OOD - 面向对象设计(Object-Oriented Design)

对OOA出来的对象进行设计,即:将各个OOA之间的联系关联起来

OOP-面向对象编程(Object Oriented Programming)

对OOD设计出来的对象之间的交互关系进行编码

  1. 封装:把客观的事物封装成类,包括数据和方法。封装把对象的设计者和对象的使用者分开,这样有助于提高类和系统的安全性。

  2. 继承:建立一个新的类,也就是派生类,继承原有的类的数据和方法,也可以重新定义或者添加数据和方法。

  3. 多态:同一个操作作用于不同类中,将会产生不同的反应。也就是不同类的对象接收到相同消息时,将会得到不一样的结果。

 

用引用操作对象

  在Java中一切都是被看作为对象,因此可以采用单一固定的语法。

  尽管一切都看做对象,但操作的标示符实际上仅仅是对象的一个“引用”(reference)。

  如果想操作一个字符串,则可以创建一个String 引用:

  String s ;

  但是这里创建的仅仅是引用,而不是对象。因此如果要操作s,这会返回错误。这是因为s实际上并没有与任何对象关联.

  因此一种安全的做法就是:创建一个引用的同时便进行初始化.

  String s = "abc";

  创建对象通常使用new操作符来实现:String s = new String("qwer");

 

永远也不需要销毁对象

  作用域:由花括号的位置决定,在作用域中定义的变量只可用于作用域结束之前。

  对象的作用域:Java对象不具备和基本类型一样的生命周期。当使用new创建一个java对象时,它可以存活于作用域之外。

  如:

 

  {

      String s = new String("qwer");

  }

  解析:

    1. 引用s在作用域终点就消失了,但是s指向的对象任然占据这内存空间。

    2. 我们无法在这个作用域之后访问这个对象,因为对它唯一的引用已经超出了作用域的范围。

       

java如何防止这些对象填满内存空间?

  Java中有一个垃圾回收器,用来监视用new创建的所有对象,并辨别那些不会被再引用的对象。随后,释放这些对象占用的内存空间,以便提供给其他新的对象使用。

问:万物都是对象,如何描述对象的外观和行为,即属性和方法

答:创建新的数据类型 -- 类

 

java中使用class关键字。如:

class Hello{

  public static void main(String[] agrs){

    Hello hello = new Hello();

  }

}

利用类进行实例化: Hello hello = new Hello();


刚刚说外观和行为及属性和方法,如何定义呢?

class Dog {

  int leg;

  String color;

 

  public Dog(int leg, String color) {

    this.leg = leg;

    this.color = color

}

 

  public void run() {

    println("dog leg: " + this.leg + ", color: " + this.color + ", run quickly!");

  }

}

Dog dog1 = new Dog(4, "blue");

dog1.run();

通过在类内部定义属性和方法,在实例化,或者单独赋值给予属性值

通过方法进行类/单个实例是执行某种动作

还有更多的类细节,在以后继续讲解~

 

这篇关于java基础学习笔记(三)万物皆对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!