`

Java OO 知识总结

    博客分类:
  • java
阅读更多

说明:

Java oo的相关知识实在是太多了,甚至每个知识点都可以写一篇文章,这里介绍一些基础的和对应知识点提示。

 

 

概述:

1.类和对象

  1. Java万物皆是对象,旨在将世界中的概念模拟到计算机程序中,它将现实世界中的所有事物视为对象。
  2. 对象的描述是通过特征和行为来描述的,特征是对事物的静态描述,行为是对事务的动态描述。
  3. 对应到程序中就是特征就是属性(成员变量)和行为就是方法。
  4. 多个对象具有的相同特征和行为,我们将这样的特征和行为抽象出来,形成一个新的单元,这个单元称作是类。
  5. 类是具有相同属性和共同行为的一组对象的抽象集合。
  6. 类是面向对象程序设计中的基本单元。
  7. 对象是实体,而类是概念模型,用来定义对象的所有特征和行为。同一类的所有对象都拥有相同的特性和行为。
  8. 你我他都是真真实实存在的,而人类是对你我他这样的真实存在的实体的共有特征和行为的描述。

2.java oo

  1. 类的基本组成:成员变量、构造函数、方法
  2. 成员变量:成员变量定义在类中,与之对应的局部变量在某个代码块中,它的有效范围是当前所在代码块中
  3. 构造函数:默认构造方法和构造方法的重载
  4. 方法:方法的定义、方法参数传递机制、重载和重写、递归、动态参数
    《Java入门 之 方法》
  5. 权限修饰符:public、protected、default、private
  6. 包的概念:主要是为了解决重名问题,java导入分为导入和静态导入
  7. 继承:java只支持单继承
  8. 封装
  9. 多态:体现在方法的重载和重写
  10. 抽象类和抽象方法
  11. 接口:对行为的声明

3.几个关键字

  1. this:指代当前对象自身,例如:this.name、this.show()等。
    《Java入门 之 this》
  2. super:代表继承某些成员变量
  3. static:静态的 可以修饰成员变量、方法,也可用于静态代码块。
    《Java基础 之 static》
  4. final:代表最终的 不可变化的,可用来修饰变量(常量)、参数、方法、类
    《Java入门 之 final》
  5. extends:继承关键字 用在类名后面
  6. implements:实现接口关键字 用在类名后面
  7. abstract:用来修饰抽象类和抽象方法关键字
  8. interface:代表一个接口

 

package com.cxyapi.oo;

/** 面向对象知识点总结
 * @author cxy @ www.cxyapi.com
 */
public class OoTest1
{
	public static void main(String[] args)
	{
		/**
		 * User是一个类(模子、模版、一个定义、设计图)
		 * u1是一个对象(具体的实例、一个具体的user,而不仅仅是个概念)
		 * 实例化相关的理解:
		 * 	1.new 后面跟构造函数 来实例化一个对象。
		 *  2.u1只是一个引用变量,它存放的是对象的地址,而不是对象本身。
		 */
		User u1=new User("cxy");
		u1.show(); //user的行为,介绍展示自己
	}
}


/** 一个用户model,是一个类 一个模型 抽象的概念
 *@author cxy @ www.cxyapi.com
 * 包括:Field-成员变量(属性,特征)、构造函数、方法(行为,操作)
 */
class User
{
	/** 成员变量:名字
	 * 对于一个标准的JavaBean或者model来说应当
	 * 将成员变量设置成私有,然后对其生成getter、setter
	 * 这也是保证封装行的体现
	 */
	private String name;
	
	/** 构造方法
	 * 1.这个是带参数的构造方法。
	 * 2.系统默认提供一个不带参数的构造方法,但是如果定义了一个带参数的 那系统默认的构造方法就会失效。
	 * 3.this用法体现之一:参数和成员变量名字一样,这时候this指代的就是当前要构造的对象的name。
	 */
	User(String name)
	{
		this.name=name;
	}
	
	//介绍自己
	public void show()
	{
		//这里的this指代的就是当前调用show方法的这个对象,其实这里可以省略不写
		System.out.println("大家好 我叫"+this.getName());
	}
	
	public String getName()
	{
		return name;
	}

	public void setName(String name)
	{
		this.name = name;
	}
}

 

 

 

声明:

1.原创文章,转载请标明并加本文连接。

2.文章反映个人愚见,如有异议欢迎讨论指正

3.更多的内容请看我的  个人博客(测试版)

 

4
3
分享到:
评论
4 楼 jsd_lxf 2014-04-13  
赞成
3 楼 snkcxy 2013-04-22  
今年不是龙年 写道
         * User是一个类(模子、模版、一个定义、设计图) 
         * u1是一个对象(具体的实例、一个具体的user,而不仅仅是个概念) 
         * 实例化相关的理解: 
         *  1.new 后面跟构造函数 来实例化一个对象。 
         *  2.u1只是一个引用变量,它存放的是对象的地址,而不是对象身。 
         */ 
        User u1=new User("cxy");

我是一只小菜鸟 但是对你上面描述的我有点不同的意见,如果错了,请给我指正  谢谢 
  User u1 这个是声明一个u1变量而已 只是这个变量的类型是一个对象类型而已 也是大神经常说的句柄(句柄应该是只唯一标识符之类的吧),放在栈中
        new User("cxy");  创建了一个引用对象,存放在堆中
        User u1=new User("cxy");这句的意思是讲栈中变量u1指向创建在堆中的new User("cxy"); 
        

是我表述的有问题嘛?实际和你说的是一个意思吧?只不过没有站到内存角度去说
2 楼 今年不是龙年 2013-04-21  
         * User是一个类(模子、模版、一个定义、设计图) 
         * u1是一个对象(具体的实例、一个具体的user,而不仅仅是个概念) 
         * 实例化相关的理解: 
         *  1.new 后面跟构造函数 来实例化一个对象。 
         *  2.u1只是一个引用变量,它存放的是对象的地址,而不是对象身。 
         */ 
        User u1=new User("cxy");

我是一只小菜鸟 但是对你上面描述的我有点不同的意见,如果错了,请给我指正  谢谢 
  User u1 这个是声明一个u1变量而已 只是这个变量的类型是一个对象类型而已 也是大神经常说的句柄(句柄应该是只唯一标识符之类的吧),放在栈中
        new User("cxy");  创建了一个引用对象,存放在堆中
        User u1=new User("cxy");这句的意思是讲栈中变量u1指向创建在堆中的new User("cxy"); 
        
1 楼 snkcxy 2013-03-14  
欢迎大家补充~

相关推荐

    JAVA OO前14章总结

    **JAVA面向对象编程前14章总结** 在深入学习Java面向对象编程的前14章内容时,我们首先会接触到的是基础概念和核心原理。Java作为一种强类型、面向对象的编程语言,其设计理念是“write once, run anywhere”,即一...

    corejava基础重要知识点总结

    思想简单:面向对象的思想 = OO思想 面向过程:需要人站在计算机的角度去思考问题 面向对象:需要人拿着代码模拟实现生活 类:一组类型相同事物高度抽象之后的集合概念 创建对象的模板 -》 class 对象:类的一...

    java知识点总结

    ### Java知识点总结 #### 第1章 Java基础 ##### 1.1 SUN,JAVA,ECLIPSE相关常识 - **James Gosling** 被誉为“Java之父”,他是Java语言的主要设计者之一。 - **Oracle** 收购了Sun Microsystems之后,获得了...

    坦克大战Java+实训报告

    综上所述,《坦克大战Java实训报告》涵盖了Java编程、数据库交互、图形界面设计、算法应用、游戏逻辑实现以及网络通信等多个IT领域的知识点,是学习和提升综合编程技能的良好实践案例。通过这个项目,开发者不仅能...

    KWIC oo设计java源码

    "KWIC oo设计java源码" 这个标题表明我们要讨论的是一个使用面向对象(OO)设计原则来解决“关键词上下文”(KEY WORD IN CONTEXT,简称KWIC)问题的Java源代码项目。KWIC是一种文本处理技术,常用于信息检索、文本...

    本人3年内面试总结java

    【标题】"本人3年内面试总结java" 是一篇关于作者在过去三年中积累的Java面试经验的总结,涵盖了从基础知识到高级概念的多个方面。这份资料旨在帮助求职者准备Java相关的面试和笔试,确保他们在技术面试中能够表现出...

    学习OO设计概念和Java中的MDI应用程序开发的项目_Java_下载.zip

    在这个项目“学习OO设计概念和Java中的MDI应用程序开发”中,我们将深入探讨面向对象(Object-Oriented, OO)...通过这个项目,你不仅能够提升Java编程技能,还能在实践中巩固面向对象设计和MDI应用程序开发的知识。

    Java进阶知识

    Java是一种广泛使用的编程语言,尤其在企业级应用和服务器端开发...总结来说,Java进阶知识包括批处理文件的运用、对象拷贝的深度理解以及内存管理的优化策略。理解并掌握这些知识,将有助于提升Java编程的效率和质量。

    SQL2 Java SQL access to a Java based Database System by Chris Lambert B.Sc.

    4. Java实现的优势:由于SQL2Java是用Java语言编写的,它可以利用面向对象(OO)概念,提升了应用的可移植性,这对于跨平台应用开发非常重要。 5. 操作的原子性保证:为了确保操作的原子性,SQL2Java通过使用日志...

    java作业图形化.rar

    总结来说,这个Java作业主要涵盖了以下几个知识点: - Java基础语法和面向对象编程 - Java Swing库的使用,包括组件布局、事件处理 - 类的设计和对象的创建,特别是与业务相关的Employee类 - 集合类的运用,如...

    Java语言程序设计:总结.ppt

    在Java语言程序设计中,我们需要理解和掌握一系列核心概念和技能。...这些知识点涵盖了Java编程的基础到进阶,对于学习和掌握Java语言至关重要。在实际编程过程中,需要灵活运用这些知识解决各种问题。

    Java猜拳小游戏源代码.pdf

    Java猜拳小游戏源代码 本资源是一个Java猜拳小游戏的...本资源是一个简单的Java猜拳游戏的源代码,涵盖了Java基础知识点、OO编程概念和Java编程实践。通过学习和分析该代码,可以提高读者的Java编程能力和OO编程思想。

    Object Oriented Design in Java

    这本书涵盖了从基础到高级的面向对象设计知识,对Java开发者来说是一本极好的资源,无论是初学者还是有经验的开发者,都能从中受益。通过学习本书,读者不仅可以掌握Java语言的面向对象设计,还能了解到如何在实际...

    java课件

    总结来说,这个【Java课件】是一份全面而实用的学习资料,它不仅讲解了Java编程的基础和高级概念,还涵盖了面向对象建模的理论与实践。配合源码包,学习者可以进行实战演练,从而加速学习进程,提升编程技能。对于想...

    5-互评-OO之接口-DAO模式代码阅读及应用

    总结来说,"5-互评-OO之接口-DAO模式代码阅读及应用"这个主题涵盖了Java开发中的关键知识点,包括接口的概念及其在实现模块间契约中的作用,以及DAO模式在数据访问层的设计和实现。理解并熟练应用这些知识对于提升...

    java正则表达式详解

    #### 一、正则表达式基础知识 正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中,用于文本的查找与替换、验证等场景。Java作为一种主流的编程语言,同样支持正则表达式的使用。 ##### 1.1 句点...

    java 正则表达式详解

    ### Java正则表达式详解 #### 一、引言 ...以上介绍了Java正则表达式的基础知识及其在Java中的实际应用。通过本文的学习,相信读者能够掌握如何使用Java中的正则表达式来进行模式匹配和文本处理。

    Springer.Object-Oriented Programming and Java.2Ed.2011

    根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 一、书籍基本信息 - **书名**:面向对象编程与Java(第二版) - **作者**:Danny Poo、Derek Kiong 和 Swarnalatha Ashok - **出版机构**:...

Global site tag (gtag.js) - Google Analytics