菜鸟之旅——Java入门篇(四)面向对象

   面向对象编程已成为软件设计中的一项重要技术,学习和掌握面向对象已经成为一种潮流,下面将详细介绍面向对象。

       面向对象编程

本篇简单介绍面向对象的三个特性,这些特性会在后续中详细讲解。

1、面向对象的三个特性

(1)封装

  面向对象的编程核心思想之一就是将数据和对数据的操作封装在一起,从实例中抽取共同性质形成一个概念。

(2)继承

  继承体现了一种先进的编程模式,子类可以继承父类的属性和功能,即继承了父类所具有的数据和操作,同时子类还可以增加独有的数据和操作。比如,” 猫 “  继承了“ 动物类 ‘ 的属性和功能,但是它又有自己独特的属性和功能,猫可以 ” 喵 喵 “ 的叫。

 (3)多态

  多态是面向对象编程的又一重要特征。多态有两种意义,一种是操作名称的多态,一种是与继承有关的多态,同一种操作被不同的类型对象调用产生不同的行为,比如猫和狗都有动物的叫功能,但是猫的叫声为” 喵喵“,狗的叫声为”汪汪“,这就是多态。

2、Java类的声明

  类是组成java程序的基本要素,在类里封装了一类对象的状态和方法。同时类也是规范对象的模板,可以创建对象。

        类的定义格式:

            class 类名 {

               类体的内容

      }

class是关键字,用来定义类。”class 类名“是类的声明部分,类名必须是合法的Java标识符。如:

     class Dog{

          int  i ;

           ……

}

3、成员变量

  (1)  成员变量在使用时可以是任何一种数据类型类型(包括基本类型和引用类型)。

  (2)  在定义成员变量时可以对其初始化,如果不对其初始化,java使用默认的对其初始化(详见下图)。

  (3)  成员变量的作用范围为整个类体

 

             

 

4、方法

  类体的内容有两个:成员变量和方法,其中,一部分方法称为构造方法,供类创建对象时使用,用来给出类所创建的对象初始状态。另一部分方法可分为实例方法和类方法。类所创建的对象可以调用这些方法形成一定的算法,体现对象具有的某种功能。

  方法的定义:方法声明和方法体。其一般格式为:

          方法声明部分{

               方法体内容

          }

  最基本的方法声明包括方法名和方法的返回类型,返回类型也称为方法的类型,如 :int   area(){ ……} 该方法的名字为area,类型为  int 方法返回的数据类型可以是任意java数据类型,当方法不需要返回数据时,返回类型必须是  void 。如: void Dog(){……}。

5、方法重载

  谈到方法不得不说方法的重载,方法重载是多态性的一种,所谓多态性,是指可以向功能传递不同的消息,以便让对象相应的消息来产生一定的行为。对象的功能是通过类中的方法来体现,那么功能的多态性就是方法的重载。

  方法重载是指一个类中可以有多个方法具有相同的名字,但方法的参数必须不同,如果两个方法的名字相同,即使类型不同,也必须保证参数不同。另一种多态是与继承有关的多态,将在继承讨论。

方法的重载例如:

class Fang{
	double getArea(double x,int y){
		return x*y;
	}
	int getArea(int x,double y){
		return (int)(x*y);
	}
}
public class MianJi {
	public static void main(String[] args) {
		Fang mian = new Fang();
		System.out.println("面积:"+mian.getArea(13.6,9));
		System.out.println("面积:"+mian.getArea(5,2.3));
	}
}

运行结果如图:


6、引用

   Java语言中国,除了基本类型外的变量类型都称为引用类型。java中的对象时通过引用对其操作的。

  如:声明一个String 类型的引用变量,但没有给它指明一个对象。

         String   s  ;

         使用new关键字创建一个String类型的对象并用s指向它

         s=new String ("hello  world!");

   new出来的东西都分配到堆内存中,堆内存是动态分配内存的,只有在javac运行(编译期间)的时候才分配内存给new出来的对象,如果在堆内存中分配了,而没有使用,则这就是垃圾,而垃圾回收机制将会自动回收内存。类的每个成员变量在不同的对象中都有不同的值(除静态变量),而方法只有一份,执行的时候才会占用内存。不执行就是一堆代码,不占用内存。(引用可以说成是一小块内存指向一大块内存,类似有c语言的指针)

 7、对象的创建和使用

(1)必须使用new关键字创建对象

(2)使用对象(引用).  成员变量或来引用对象的成员变量。(注意那个点一定要有)

(3)使用对象(引用) 方法(参数列表)来调用对象的方法。

(4)同一类的每个对象有不同的成员变量储存空间。

(5)同一类的每个对象共享该类的方法。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值