`
emowuyi
  • 浏览: 1478075 次
文章分类
社区版块
存档分类
最新评论

Java中类的一些概念总结

 
阅读更多

一、关于变量

  • 在类体中的变量定义部分所定义的变量称为类的成员变量,在方法体中定义的变量和方法的参数称为局部变量。成员变量在整个类内有效,局部变量只在定义它的方法内有效。定义类的成员变量时可赋初值,但对成员变量的操作只能在方法内进行。
  • 成员变量又分为实例成员变量(实例变量)和类成员变量(类变量)。如果成员变量的类型前面加上关键字static,则该成员变量称做类变量静态成员变量。<wbr></wbr>
  • 局部变量的名字与成员变量的名字相同时,则成员变量被隐藏。此时如果想在该方法中使用成员变量,必须使用关键字this
  • 通过new创建类对象时,实例变量被分配内存空间,且不同的实例变量将分配不同的内存空间。类中的成员变量为类变量时,则所有类对象的这个类变量都分配同一处内存,改变其中一个对象的这个类变量将会影响其他对象的这个类变量,即一个类所有的对象共享类变量。
  • 程序执行时,类的字节码加载到内存,如果该类没有创建对象,类的实例成员变量不会被分配内存。但类中的类变量在该类被加载到内存时就分配了内存空间。
  • 类变量的内存空间直到程序退出运行时才释放所占有的内存。
  • 类变量可通过类名加“.”直接访问,但实例变量必须通过实例名加“.”访问(因为程序加载时实例变量并未分配内存空间)。
  • 对于私有成员变量或方法(声明为private的),只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。
  • 对于共有成员变量和方法(声明为public的),可在另外的类中通过创建的对象进行访问。
  • 受保护的成员变量和方法(声明为protected的),可通过同一个包中的类创建对象进行引用。
  • 友好变量和方法(不用public,private,protected声明的),可通过同一个包中的类创建对象进行引用。
  • 如果一个成员变量声明为final,则它就是常量。
  • 如果子类想使用被子类隐藏了的父类的成员变量,可使用关键字super来引用。

<wbr></wbr>

  二、关于方法

  • Java语言中写一个方法和c语言中写一个函数完全类似。类中的方法可分为实例方法类方法(方法类型前面加关键字static)。<wbr></wbr>
  • 方法重载是指一个类中可以有多个方法具有相同的名字,但方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。<wbr></wbr>
  • 构造方法是一种特殊的方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型,即它是void型的(void可以省略不写)。<wbr></wbr>
  • 实例方法既能对类变量操作,也能对实例变量操作。而类方法(带static)只能对类变量进行操作。实例方法可以调用类方法,类方法不能调用实例方法。<wbr></wbr>
  • 使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(无参数的)。  <wbr></wbr>
  • 当类的字节码文件加载到内存时,类中的类方法就分配了相应的入口地址,类方法可被该类创建的任何对象调用(可通过类名调用),类方法的入口地址直到程序退出才被取消。<wbr></wbr>
  • 当类的字节码文件加载到内存时,类中的实例方法不会分配入口地址,当该类创建对象后才分配。实例方法可以被该类创建的任何对象调用。类所创建的所有对象的实例方法的入口地址相同,当所有的对象不存在时,实例方法的入口地址才被取消。
  • 无论是类方法或实例方法,当其被调用时,方法中的局部变量才被分配内存空间,方法调用完毕,局部变量即刻释放所占的内存。
  • this关键字可以出现在类的实例方法中,代表使用该方法的当前对象。
  • 如果一个方法声明为final,则这个方法不能被重写。
  • 如果一个类中含有abstract方法,那么这个类必须用abstrct来声明。
  • 子类不能继承父类的构造方法,如果子类要使用父类的构造方法,必须在子类的构造方法中使用(使用关键字super表示父类),且必须在第一条语句中使用。
  • 如果子类想使用被子类隐藏了的父类的方法,可使用关键字super来引用。

<wbr></wbr>

  三、关于类

  • 当前程序可调用当前包中的友好类(类声明前无public修饰的)。
  • 不能用protectedprivate来声明类。
  • 访问权限的级别从高到低排列:public,protected,友好的,private。
  • 关于类的继承子类和父类在同一个包中时,子类自然继承了其父类中不是private的成员变量和方法作为自己的成员变量和方法。如果子类和父类不在同一个包中,那么子类继承了父类的protected、public声明的成员变量和方法,不能继承父类的友好变量和友好方法。
  • 如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Object的子类。Object是包java.lang中的类。
  • 如果一个类声明为final,则它不能被继承。
  • abstrct类不能用new运算创建对象,必须产生其子类,由子类创建对象。如果一个类是abstrct类的子类,由它必须具体实现父类的abstract方法。一个abstract类只关心它的子类是否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现。
  • Java不支持多继承性,即一个类只能有一个父类。

  四、关于接口

  • 接口(interface)包含常量定义和方法定义两部分,接口体中只进行方法的声明,不提供方法的实现。
  • 一个类通过使用implements关键字声明自己使用的接口,多个接口名之间用逗号隔开。如“class A implements I1,I2”。
  • 如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法。接口中的方法默认为public的。
  • 如果接口的方法返回的类型不是void的,则在类中实现该接口方法时,方法体中至少要有一个return语句。如果是void型的,类体可以无任何语句(只有“{ }”)。
  • 一个Java源文件就是由类和接口组成的。
  • 如果一个类没有实现接口中的所有方法,那么这个类必须是abstrct类。
  • public声明的接口可被所有的类使用,友好接口类(无public修饰)只能被同一个包中的类使用。
  • //转载自新浪博客
分享到:
评论

相关推荐

    Java调优中一些概念的总结

    Java调优中一些概念的总结,如堆与栈,Java对象的大小,引用类型等

    java基础知识和概念总结详细信息

    java基础知识和概念总结详细信息,让你更容易更快的记住学会 java

    JAVA模式与设计概念总结

    JAVA模式与设计概念总结,绝对详细;JAVA模式与设计概念总结,绝对详细;

    java面试常见难点概念总结

    java面试常问问题总结,很好的,我自己整理的,希望大家下载

    java内部类总结(含概念和实例)

    最全面的java内部类总结,概念和实例帮助深入理解!

    Java基础知识点总结.docx

    Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...

    Java中重载和重写总结

    Java中重载和重写总结,基础知识,概念分清楚,补充基础知识

    java基本概念总结.pdf

    java基本概念总结.pdf

    Java多线程编程总结

    Java 线程系列博文总结word化,编目如下,欢迎互相学习交流: Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:...

    Java NIO核心概念总结篇

    这是学习Java NIO过程中总结的核心概念,里面包含了基本的知识点,详细知识点也可以查看我的博客:pcwl_java里的Java NIO篇

    java多线程编程总结

    Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 ...

    java概念总结

    总结了一下java基础的一些概念,可能不太全面,你们也可以补充一下

    java-北京圣思园张龙概念总结

    一些很关键的java概念. 讲解很清晰, 非常适合初学者领悟

    java基础知识复习内容总结

    基本的复习资料总结,没有重点,个个都经典的题目。一般都涉及到得问题,有一些还常用于面试问题中。

    java各知识点详细总结.docx

    Java中类是对象的模板,它定义了对象的属性和方法。对象是类的实例,它具有类定义的属性和方法。Java中还包括继承、多态等面向对象的基本概念。 异常处理:Java中的异常处理是一种处理错误和异常情况的方法。Java中...

    java 面试题 总结

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上...

    Java重点知识总结

    包的概念 ,常用包(结合后面的内容,了解一些类所在的包) 包的导入 , 声明类所在的包 第2章 标识符与关键字 ,注释形式 ,8种基本类型的变量定义、常量写法 ,变量与常量 运算符与表达式 ,流程控制语句(基本...

    corejava基础重要知识点总结

    类:一组类型相同事物高度抽象之后的集合概念 创建对象的模板 -》 class 对象:类的一个具体的实例 例子: 人和范冰冰之间的关系? 类和对象 HelloKitty和猫之间的关系? 对象和类 引用:对象的名字 *:一个...

Global site tag (gtag.js) - Google Analytics