Java面向对象的编程

  类的多态性:

    Java语言中含有方法重载与成员覆盖两种形式的多态:(区别于c++)

    方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
    成员覆盖:子类与父类允许具有相同的变量名称,但数据类型不同,允许具有相同的方法名称,但完成的功能不同。

  类:class  对象:object   实例:Instance

  创建属于某类的对象,需要通过下面两个步骤来实现:
    1、  声明指向"由类所创建的对象"的变量
    2、  利用new创建新的对象,并指派给先前所创建的变量。  
  举例来说,如果要创建Person类的对象,可用下列的语句来实现:
  方法一:

    Person p ; // 先声明一个Person类的对象p
    p = new Person() ;   // 用new 关键字实例化Person的对象p

  方法二:  
      Person p = new Person() ;  // 声明Person对象p并直接实例化此对象
匿名对象:

  “匿名对象”,顾名思义,就是没有明确的声明的对象,也可以简单理解为只使用一次的对象,即没有任何一个具体的对象名词引用它;

    System.out.println(new Person().talk() );   //声明了一个匿名对象,调用Person类中的()方法;

用new Person() 声明的对象并没有赋给任何一个Person类对象的引用,所以此对象只使用一次,之后就会被java 的垃圾收集器回收;

  对象的比较:

    有两种方式可用于对象间的比较,它们是 "=="运算符与equals()方法,

  “==” 操作符用于比较两个对象的内存地址值是否相等,

  equals( )方法用于比较两个对象的内容是否一致;

下面两种String对象的声明方式到底有什么不同?

  String  str1 =  new String("java");

  String  str2 = "java";

public class StringDemo
{
    public static void main(String args[])
    {
        String str1 = "java";
        String str2 = new String("java");
        String str3 = "java";

        System.out.println("str1 == str2?" + (str1==str2));
        System.out.println("str1 == str3?" + (str1==str3));
        System.out.println("str2 == str3?" + (str2==str3));
    }
}

  str1 == str2?false
  str1 == str3?true
  str2 == str3?false

由程序输出结果可以发现,str1 与 str3相等,这是因为 "==" 是用来比较内存地址值的;

str1 与 str3  相等,则证明str1 与 str3 是指向同一个内存空间的;

时间: 2024-09-25 18:00:08

Java面向对象的编程的相关文章

JAVA学习(五):Java面向对象编程基础

Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它采用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目的. 1.OOP的3个特性(封装.继承和多态性) 封装是类的基础,指把类的相关实现细节隐藏起来,在类中将数据和实现操作的代码集中起来放在对象的内部,调用这些类时只需直接使用类预留的接口就可以了. 继承提供了子类自动拥有父类数据结构和方法的机制,它表示类之间的一种关系. 多态指使一个对象被看成另一个对

java面向对象编程的问题

问题描述 java面向对象编程的问题 "一个农场有100头牛,性别.年龄未知,母牛没三年会生一只小牛,20年后会有多少只牛?" 现在只知道要有一个牛类,里边有年龄和性别两个属性,然后创建工厂类,包括生小牛的方法.求代码的实现. 解决方案 就你的描述可以设计一个类Ox,包含三个属性,一个计算小牛个数的方法.需求很清楚了,你就自己实现吧,练习就是要自己写试试. 解决方案二: 设计模式学习心得之工厂类模式(一)简单工厂模式

详解Java面向对象编程中方法的使用_java

一个 Java 方法是为了执行某个操作的一些语句的组合.举个例子来说,当你调用 System.out.println 方法时,系统实际上会执行很多语句才能在控制台上输出信息. 现在你将学习怎么创建你自己的方法,他们可以有返回值也可以没有返回值,可以有参数,也可以没有参数,重载方法要使用相同的方法名称,并在程序设计中利用抽象的方法. 创建方法我们用下面的例子来解释方法的语法: public static int funcName(int a, int b) { // body } 在这里 publ

《Java语言导学(原书第6版)》一一第2章 面向对象的编程概念 2.0

第2章The Java Tutorial: A Short Course on the Basics, Sixth Edition面向对象的编程概念如果没有用过面向对象的程序语言,编写Java程序之前一定要先学一些面向对象编程的基本概念.本章介绍对象.类.继承.接口和包等基本概念.每节都通过生活中的例子来解释这些基本概念,同时介绍Java程序语言的语法.2.1节关注对象的概念.对象是具有相关状态和行为的软件.软件对象经常用于建模生活中的对象.本节介绍对象的状态和行为的表示方式以及数据封装的概念,

《Java语言导学(原书第6版)》一第2章 面向对象的编程概念

第2章 面向对象的编程概念如果没有用过面向对象的程序语言,编写Java程序之前一定要先学一些面向对象编程的基本概念.本章介绍对象.类.继承.接口和包等基本概念.每节都通过生活中的例子来解释这些基本概念,同时介绍Java程序语言的语法.

《Java语言导学(原书第6版)》一一2.6 问题和练习:面向对象的编程概念

2.6 问题和练习:面向对象的编程概念问题 生活中的对象都具备 和 属性. 软件对象的状态保存在 中. 软件对象的行为通过 展现. 将内部数据隐藏,且只能通过公共方法访问数据的技术叫 . 软件对象的蓝图叫 . 常用行为可以定义成 ,并用关键字 继承到 中. 方法体为空的方法集合称为 . 按功能组织类和接口的命名空间叫 . 术语API表示 .练习 创建新的类来描述本章开始时介绍的生活中的对象.如果忘记必要的语法可参考Bicycle类. 为每个新类创建一个接口,以定义其行为,然后实现该接口.删除一两

《Java语言导学(原书第6版)》一2.6 问题和练习:面向对象的编程概念

2.6 问题和练习:面向对象的编程概念 问题 生活中的对象都具备 和 属性. 软件对象的状态保存在 中. 软件对象的行为通过 展现. 将内部数据隐藏,且只能通过公共方法访问数据的技术叫 . 软件对象的蓝图叫 . 常用行为可以定义成 ,并用关键字 继承到 中. 方法体为空的方法集合称为 . 按功能组织类和接口的命名空间叫 . 术语API表示 .

Java网络服务器编程(NIO版)

编程|服务器|网络 从Java 1.4开始提供的NIO API常用于开发高性能网络服务器,本文演示了如何用这个API开发一个TCP Echo Server.   Java网络服务器编程 一文演示了如何使用Java的Socket API编写一个简单的TCP Echo Server.其阻塞式IO的处理方式虽然简单,但每个客户端都需要一个单独的Thread来处理,当服务器需要同时处理大量客户端时,这种做法不再可行.使用NIO API可以让一个或有限的几个Thread同时处理连接到服务器上的所有客户端.

教你如何使用JSP面向对象web编程技术实现树形控件

js|web|编程|对象|控件 树形控件是一种人们熟悉的用户界面控件,广泛地用来显示层次型数据. 树形控件具有独特的扩展和折叠分支的能力,能够以较小的空间显示出大量的信息,一目了然地传达出数据之间的层次关系.凡是熟悉图形用户界面的用户,都能够自如地运用树形控件. 图一:用java script实现的树形控件 HTML本身不支持树形控件,但我们可以通过一些java script脚本代码实现.为了提高控件的可重用性,我们要充分运用java script对面向对象编程技术的支持.本文的树形控件适用于I