`
you_java
  • 浏览: 96519 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java面向对象笔记

    博客分类:
  • java
阅读更多

面向对象总结

 

面向对象考虑的问题

 

1、不考虑过程、先考虑哪些对象

 

2、类和对象有哪些属性和方法

 

3、类之间的关系

 

 

Dog d = new Dog()

对象d的引用放在栈内存中

对象d的属性和方法堆内存(动态)

 

成员变量放在内存中的数据区

 

局部变量占用一块内存(即栈内存),方法调用完后,局部变量消失

 

new对象占用两块内存(即栈内存和堆内存)

 

成员变量有默认值,作用范围是整个类;局部变量没有默认值,作用范围是整个方法

 

方法就是一块静态代码,只有在执行的时候,才内存里分配空间;非静态方法是针对每个对象进行调用的

 

 

《方法的重载》

方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。

(与方法的访问控制修饰符无关)

(返回类型要一致,其它条件成立,返回类型不一致时构成重名,此时编译不通过)

调用时,会根据不同的参数表选择相应的方法。

 

《this关键字》

当必须指出当前使用方法的对象是谁时要使用this;

有时使用this可以处理方法中成员变量和参数重名的情况;

this可以看作是一个变量,它的值是当前对象的引用。

 

《static关键字》(静态变量存放在内存的数据区)

·在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,

对于该类的所有对象来说,static成员变量只有一份。

·用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。

·可以通过对象引用或类名(不需要实例化)访问静态成员。

 

《package和import语句》

·为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,Java引入包(package)机制,提供类的多重类命名空间。

《J2SDK中主要的包介绍》

·java.lang--包含一些java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。

·java.awt--包含了构成抽象窗口工具集的多个类。

·java.applet--包含applet运行所需的一些类。

·java.net--包含执行与网络相关的操作的类。

·java.io--包含能提供多种输入/输出功能的类。

·java.util--包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。

 

《访问控制》

修饰符 类内部 同一个包 子类 任何地方

private yes

default yes yes

protected yes yes yes

public yes yes yes yes

(对于class的权限修饰符只可以用public和default,public类可以再任意地方被访问,default类只可以被同一个包内部的类访问)

 

《继承》

java中使用extends关键字实现类的继承机制;通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法);

java只支持单继承,不允许多继承:一个子类只能有一个基类,一个基类可以派生出多个子类。

 

《方法的重写》

在子类中可以根据需要对从基类中继承来的方法进行重写;

重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型;

重写方法不能使用比被重写方法更严格的访问权限。

 

《继承中的构造方法》

子类的构造的过程中必须调用其基类的构造方法。

子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。

·使用this(argument_list)调用本类的另外的构造方法;

·如果调用super,必须写在子类构造方法的第一行。

如果子类的构造方法中没有显式地调用基类构造方法,则系统默认调用基类无参数的构造方法。

如果子类构造方法中既没有显式调用基类构造方法,而基类中又没有无参数的构造方法,则编译出错。

 

《Object类中的equals》

提供定义对象是否“相等”的逻辑;

x.equals(y)当x和y是同一对象时返回true否则返回false;

即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。 

“==”比较的是对象的地址;也就是说Object中equals和“==”是一样的。

 

《对象转型》

·一个基类的引用类型变量可以“指向”其子类的对象;

·一个基类的引用不可以访问其子类对象新增加的成员(属性和方法);

·可以使用引用变量instanceof类名来判断该引用型变量所“指向”的对象是否属于该类或该类的子类;

·子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之称为向下转型(downcasting);

·多态的条件:1、要有继承;2、要用重写;3、父类引用指向子类对象。

分享到:
评论

相关推荐

    Java 面向对象笔记

    Java面向对象编程是Java语言的核心特性,它使得代码更加模块化、可维护,易于扩展。以下是对Java面向对象主要知识点的详细阐述: 1. **对象和类**:在Java中,一切皆为对象,对象是类的实例。类是创建对象的模板,...

    java面向对象笔记.pdf

    java面向对象笔记.pdf

    达内JAVA面向对象笔记

    在"达内JAVA面向对象笔记"中,我们可以深入理解这一关键主题。面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将程序设计为相互协作的对象集合,每个对象都有自己的属性(数据)和行为...

    java面向对象笔记源码

    在"java面向对象笔记源码"中,我们可以预期学习到以下几个关键知识点: 1. **类与对象**:类是创建对象的模板,描述了对象的属性和行为。对象是类的实例,它具有类所定义的属性和方法。在Java中,我们使用`class`...

    JAVA面向对象笔记.md

    本篇笔记阐述了Java中面向对象的核心概念:类作为创建对象的模板,封装通过private关键字实现数据隐藏及getter/setter方法访问控制;继承允许子类扩展和重用父类属性与方法;多态性体现为一个接口或父类在不同子类中...

    Java面向对象-笔记.docx

    Java面向对象笔记 面向对象是一种编程思想,Java是一种面向对象的编程语言。下面是Java面向对象笔记的知识点摘要: 一、类和对象 * 对象:对象是一个实体,由一组属性和方法构成。对象的属性是对象具有的各种特征...

    JAVA的面向对象编程笔记(经典)

    Java面向对象编程笔记 本文主要介绍了Java面向对象编程的基本概念和原则,包括对象、类、继承、多态、封装、抽象等概念的定义和解释,并通过实例讲解了面向对象编程的思想和方法。 一、什么是对象? 在面向对象...

    Java面向对象思想与程序设计(刘彦君版)电子笔记,附上部分源码

    Java面向对象思想与程序设计电子笔记(刘彦君版),帮助Java学习者从入门走向精通。这是个很高的目标,非常具有挑战性,本笔记就是融合初学者学习的困难,将抽象困难理解的Java入门变得简单易懂,方便初学者跨入Java...

    java面向对象和第一章整理笔记

    Java面向对象编程是Java语言的核心特性,它基于面向对象编程...这些笔记涵盖了Java面向对象编程的基本概念,对于初学者来说,是理解和掌握Java技术的关键。通过深入学习和实践,可以构建出高效、可维护的Java应用程序。

    java面向对象编程课堂笔记

    面向对象编程是Java的核心特性,它使得代码更加模块化、可维护性和可扩展性更强。在Java中,万物皆对象,即所有的事物都可以抽象成一个对象,对象包含其属性(描述对象的状态)和方法(描述对象的行为)。面向对象...

    Java面向对象编程学习笔记.pdf

    "Java面向对象编程学习笔记.pdf" Java面向对象编程学习笔记是Java程序设计语言中面向对象编程(Object-Oriented Programming,OOP)的一份学习笔记。面向对象编程是一种软件设计方法,它强调使用对象和类来模拟现实...

    JAVA面向对象基础总结笔记

    ### JAVA面向对象基础总结 #### 一、面向对象的基本概念 面向对象编程(Object-Oriented Programming, OOP)是一种程序设计范式,它将数据和处理这些数据的方法组织在一起,形成一个整体——对象(Object)。Java...

    Java面向对象程序设计笔记.doc

    "Java面向对象程序设计笔记" 本文档是关于Java面向对象程序设计的笔记,主要涵盖Java语言的基础知识和面向对象程序设计的基本概念。 从目录来看,本文档共分为两章。第一章主要介绍Java语言的基础知识,包括Java的...

    WI TWO 淘宝分享Java面向对象编程(孙卫琴)_学习笔记

    Java面向对象编程是Java开发中的核心概念,由孙卫琴老师讲解的这门课程深入浅出地探讨了这一主题。面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它以对象为中心,通过封装、继承和多态三大...

    JAVA面向对象编程(孙卫琴)学习笔记

    《JAVA面向对象编程》是孙卫琴老师的一本经典教程,涵盖了Java编程的核心概念和实践技巧,特别是面向对象编程的精髓。以下是对这些文件内容的详细解析: 首先,"JAVA面向对象编程(孙卫琴)_1java的第一个程序.doc...

    JAVA基础-面向对象课程笔记

    ### JAVA基础-面向对象课程笔记 #### 面向过程与面向对象对比 **面向过程**是一种编程思想,它的核心是“做什么事”的步骤。例如,处理“把大象放进冰箱”这个问题时,按照面向过程的思路,我们会将其分解为三个...

    Java面向对象程序设计笔记

    Java面向对象程序设计是编程领域的核心概念,尤其对于Java开发者来说,掌握这一技术至关重要。本笔记将深入探讨Java语言的特点、面向对象编程的基本概念、Java应用程序的开发环境配置,以及类的设计、对象构造等关键...

    java面向对象和自己平时的积累

    面向对象是Java编程的核心概念,它是现代软件开发中的一种重要思想。李刚老师的《疯狂java讲义》深入浅出地讲解了这一主题,对于初学者来说,是一本...通过不断练习和解决问题,你的Java面向对象编程技能将会日益精进。

Global site tag (gtag.js) - Google Analytics