类的变量:
实例变量:
用来存储某个类对象的状态值。修饰符为public或者private。使用范围是整个类,可以在类中的任意方法内被调用。实例变量是依据其对象存在的,运行程序创建对象的同时,创建了其实例变量,程序运行完成,对象消失,其实例变量也消失。
例如:
public class Person
{
public String name;
public char gender;
public double height;
.......
}
静态变量(类变量):
用修饰符static修饰的变量。静态变量是类的变量,不属于任何一个类的具体对象实例。它不保存在某个对象实例的内存空间中,而保存在类的内存空间的公共存储单元中。
例如: static String language="Chinese";
区别:
实例变量一般使用private/public作为修饰符。每个类的对象都具有一套属于自己的、在类中定义的实例变量。每个对象只能修改或者访问其自身俄实例变量,不会影响其他对象的实例变量。
静态变量使用static修饰符。每个类的所有对象共同拥有一套类的静态变量。类和其对象都可以修改或者访问静态变量。
最终变量:
使用修饰符final修饰的变量。其保存的数据在程序的整个执行过程中都不会改变。通常在final前面加上static,那么这个变量的实际含义就是常量。
例如:static final double pi = 3.1415926;
易失变量:
被volatile修饰符修饰。说明该变量可能同时被几个线程所控制和修改,即该变量不仅仅被当前程序所掌握,在运行过程中可能存在其它未知的程序操作来影响和改变该变量的值。
类的方法:
实例方法:
实例方法属于每个对象,只能通过类的对象调用。如果希望实例方法可以在类之外被访问,使用public;如果希望实例方法只在类内被访问,则使用private。
静态方法:
静态方法使用static修饰,是属于某个类的,它在内存空间中的内容将随类的声明而进行分配和装载,不被任何一个对象所单独拥有。静态方法不能操纵和处理属于某个对象的实例变量,而只能处理属于整个类的静态变量,亦即静态方法只能处理静态变量或者调用静态方法。静态方法不能访问实例变量,所以在静态方法中不能使用关键字this。
关键字this:
作用是当需要在类的实例方法中指向调用该实例的对象时。必须用this的情况:
1、局部变量与实例变量同名。(this最常见的应用是在类的构造方法和实例方法中解决局部变量与实例变量同名的问题)在参数名或者局部变量名与实例变量同名时,由于参数变量和局部变量的优先级高,则在方法体中参数名或者局部变量名将隐藏同名的实例变量。使用this可以将其区分开来。
2、在构造方法中调用其它构造方法。在构造方法的第一条语句使用关键字this调用同一个类中的另一个构造方法。
格式:this(参数列表); 注意:由修饰符static修饰的静态变量不能使用this调用。
例如:
public class Person
{
private String name;
private char gender;
private double height;
public Person(String name, char gender)
{
this(name, gender, 1.65);
}
public Person(String name, char gender, double height)
{
this.name=name;
this.gender=gender;
this.height=height;
}
}
关键字super:
super指父类。应用与类的继承中。常用方法如下:
1、访问父类构造方法。在子类的构造方法中,使用super可以调用其父类中的构造方法。一般用于子类构造方法的参数多余父类构造方法的参数时使用,简化构造方法的语句体。必须是构造方法中的第一条语句。
格式:super(参数列表);
2、访问父类的变量和方法。当遇到子类中的实例变量或者实例方法与父类中的实例变量或者实例方法同名时,父类的会被子类隐藏。这个时候如果要使用父类中的某个实例变量或者实例方法,就需super关键字。
注意:super不能在static环境中使用。
类的继承:
继承后产生的类称为子类或者派生类,子类继承父类的状态和行为,同时也可以修改父类的状态或者重载父类的行为,并添加新的状态和行为。在Java中,每一个类只可以有一个父类,一个类可以有多个子类。子类不能继承父类中访问权限为private的实例变量和实例方法。
类的多态:
多态是指一个程序中同名的不同方法共存的情况。可以通过子类对父类方法的覆盖实现多态,也可以利用方法重载在同一个类中声明多个同名的不同方法。
覆盖是在声明子类的方法时,使用与其父类中相同的名称和参数。在执行程序时,将执行子类的方法,而覆盖掉父类的方法。
分享到:
相关推荐
Java面向对象程序设计是计算机编程领域中的核心主题,它基于面向对象编程(OOP)理念,使得代码更具有模块化、可复用性和易于维护的特点。以下是对标题和描述中涉及的知识点的详细阐述: 1. **第1章:Java入门** -...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)的概念,是一种强大的编程范式。在Java中,OOP的核心概念包括类、对象、封装、继承、多态等。这本书"Java面向对象程序设计"由耿祥义和...
Java面向对象程序设计是计算机科学中的一个重要主题,尤其在Java编程中。邢国波的《Java面向对象程序设计》一书旨在帮助读者理解和掌握Java语言的核心特性,特别是面向对象编程的概念。以下是根据提供的内容和标签...
Java面向对象程序设计_习题解答(耿祥义)[汇编].pdf
Java面向对象程序设计是计算机科学中的一个重要领域,尤其在软件开发中占据核心地位。第二版的《Java面向对象程序设计》课件旨在深入浅出地介绍这一关键概念,帮助学习者掌握Java语言的基础以及面向对象编程的核心...
不过,我可以基于《Java面向对象程序设计(第二版)》这个标题和标签,来详细说明Java面向对象程序设计中可能涵盖的知识点。 在深入介绍之前,首先需要明确面向对象程序设计(OOP)是一种编程范式,它使用“对象”...
JAVA面向对象程序设计知识点总结 JAVA面向对象程序设计是 Java 编程语言的核心 contents,涵盖了面向对象编程的基本概念、语法规则、编程技术和实际应用等方面的知识。本文总结了 JAVA面向对象程序设计的知识点,...
Java面向对象程序设计(清华版).part1
Java面向对象程序设计是编程领域中的核心概念,尤其在企业级应用开发中占据了主导地位。耿祥义版的课程着重讲解了这一主题,通过PPT和源码的形式,旨在帮助学习者深入理解并掌握Java的面向对象特性。下面将详细阐述...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)原则,为开发者提供了构建复杂软件系统的方法。本资源包含了该课程所有章节的课后习题答案,帮助学习者深入理解Java语言的面向对象...
《Java面向对象程序设计(第3版)》是人民邮电出版社出版的一部经典教材,由杨晓燕和李选平两位专家共同编著。该书深入浅出地讲解了Java编程语言的核心概念和面向对象编程思想。PPT课件是教学辅助资料,通常包含了...
在Java面向对象程序设计实验课的学习过程中,我深入体验了Java语言的强大特性和它在软件开发中的重要地位。Java作为一种面向对象的语言,它的核心概念包括抽象、封装、继承和多态,这些特性使得Java在软件工程中具有...
本资源总结了 Java 面向对象程序设计的基本概念和技术,涵盖了面向对象的基本概念、对象的属性和行为、继承和多态、异常处理、图形界面编程和多线程机制等方面的知识。 面向对象的基本概念 面向对象程序设计是一种...
这个压缩包文件"JAVA面向对象程序设计(期末考试试题及答案).zip"包含了学习和复习Java OOP的关键资源,包括一份详细的资源说明文档和期末考试试题及答案的PDF。 资源说明.docx可能涵盖了学习Java OOP的基础概念、...
《Java面向对象程序设计》是Java编程学习的重要教材,作者张亦辉以其深入浅出的讲解方式,引领读者进入面向对象的世界。这份压缩包包含了书中各个章节的例题源代码,是学习和理解Java面向对象编程概念的宝贵资源。...
在Java编程语言中,面向对象程序设计(Object-Oriented Programming, OOP)是一种核心的编程范式,它基于“对象”概念,将数据和处理数据的方法封装在一起。本章节的源代码着重于讲解和实践Java中的面向对象特性,...
资源名称:上海交大Java面向对象程序设计视频教程(全31集)资源目录:【】[上海交大][面向对象技术java]上(01-05集)【】[上海交大][面向对象技术java]上(06-10集)【】[上海交大][面向对象技术java]下(21-25集)【】...
Java面向对象程序设计是编程领域中的核心概念,它基于面向对象的编程思想,将现实世界中的实体抽象为类,通过类来创建对象,实现代码的复用和模块化。在这个期末考试试题中,我们看到了一系列关于Java编程的问题,...