类
java类的基本结构(如何定义自己的类)
modifiers(public private protected) class MyClass extends MySuperClass implements YourInterface {
// field, constructor, and method declarations
}
public class Bicycle {
// the Bicycle class has three fields
public int cadence;
public int gear;
public int speed;
// the Bicycle class has one constructor
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
// the Bicycle class has four methods
public void setCadence(int newValue) {
cadence = newValue;
}
public void setGear(int newValue) {
gear = newValue;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
}
三种类型的变量:字段、局部变量、参数
变量的命名规则:[$_\w]{A-Za-z0-9}
方法定义:
修饰符(public private protected)、返回类型、方法名称、参数列表、异常列表、方法体
构造函数:类名相同但没有返回值的方法(如果无法访问一个类的构造方法则无法直接创建类的实例)
任意数量的参数:(Type... parameters)
原始数据类型和引用数据类型的参数传递
对象
使用类创建对象(使用默认构造函数以及其他构造函数创建不通的对象)
- 声明类实例对象(声明对象类型)
- 实例化对象(new操作创建对象)
- 初始化对象(new后调用构造函数初始化对象)
使用对象:对象名称加点操作(.)和属性名称或者方法名称(垃圾回收的问题,置为null)
类的更多特性
- 方法返回(执行完所有代码、遇到return语句、抛出异常)
- this关键字
- 成员访问控制(public private protected)
- 类成员和实例成员
- 成员初始化过程(静态初始化块、实例初始化块,初始化块可以考虑使用final关键字防止子类重写后出现问题)
嵌套类
-
静态嵌套类:OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass()
-
内部类(和实例关联,不能定义任何静态成员):OuterClass.InnerClass innerObject = outerObject.new InnerClass()
- 内部类和外部类的成员访问问题:
-
public class ShadowTest {
public int x = 0;
class FirstLevel {
public int x = 1;
void methodInFirstLevel(int x) {
System.out.println("x = " + x);
System.out.println("this.x = " + this.x);
System.out.println("ShadowTest.this.x = " + ShadowTest.this.x);
}
}
public static void main(String... args) {
ShadowTest st = new ShadowTest();
ShadowTest.FirstLevel fl = st.new FirstLevel();
fl.methodInFirstLevel(23);
}
}
The following is the output of this example:
x = 23
this.x = 1
ShadowTest.this.x = 0
- 局部类(局部类只能访问包含块中final修饰的变量)(Java SE 8中可以访问包含方法的参数)
- 匿名类(可以访问包含类的成员、只能访问final修饰的局部变量)
枚举类型
定义:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
使用:
public class EnumTest {
Day day;
public EnumTest(Day day) {
this.day = day;
}
public void tellItLikeItIs() {
switch (day) {
case MONDAY:
System.out.println("Mondays are bad.");
break;
case FRIDAY:
System.out.println("Fridays are better.");
break;
case SATURDAY: case SUNDAY:
System.out.println("Weekends are best.");
break;
default:
System.out.println("Midweek days are so-so.");
break;
}
}
public static void main(String[] args) {
EnumTest firstDay = new EnumTest(Day.MONDAY);
firstDay.tellItLikeItIs();
EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
thirdDay.tellItLikeItIs();
EnumTest fifthDay = new EnumTest(Day.FRIDAY);
fifthDay.tellItLikeItIs();
EnumTest sixthDay = new EnumTest(Day.SATURDAY);
sixthDay.tellItLikeItIs();
EnumTest seventhDay = new EnumTest(Day.SUNDAY);
seventhDay.tellItLikeItIs();
}
}
Classes and Objects
什么?java类的定义(字段、局部变量、参数、构造函数、方法)、对象的创建和初始化以及使用、内部类、嵌套类、局部类、匿名类和枚举类型
基础:类的定义和使用
重点:各种嵌套类的特性,枚举的使用场景和特性
分享到:
相关推荐
在本实验“Java类与对象”中,我们深入学习了Java面向对象编程的基本概念和实践。面向对象编程(OOP)是一种程序设计思想,它强调数据和操作数据的方法结合在一起,形成一个独立的对象,以此来组织和管理代码。与...
【第4章 类和对象】在Java编程中,类(Class)和对象(Object)是核心概念,构成了面向对象编程的基础。面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,强调以对象作为程序设计的核心,通过封装...
学习本章的目标是理解对象和类的概念,掌握如何定义类、创建对象以及使用构造方法。通过面向对象编程,开发者可以更有效地模拟现实世界的问题,构建出更符合人类思维的软件系统。在实际编程中,熟练运用类和对象能...
描述中的"第4章"可能涵盖了如何创建和实例化类,以及如何使用构造函数初始化对象。构造函数是一个特殊的方法,用于在创建对象时执行特定的初始化任务。 其次,对象是类的实例,是实际存在的数据结构。通过使用new...
面向对象编程(Object Oriented Programming,简称OOP)是Java的核心概念,它通过类和对象的概念来模拟现实世界的实体和它们之间的关系。 类是面向对象编程的基础单元,它是一个模板或蓝图,用于创建具有相似特性的...
在Java编程语言中,类和对象是核心概念,它们构成了面向对象编程的基础。本章将深入探讨这两个概念,以及如何在实际编程中运用它们。源代码的提供将帮助我们更直观地理解这些理论知识。 首先,我们需要理解什么是类...
4. **第4章:类与对象** - **类的定义**:类是对象的蓝图,包含属性(成员变量)和方法(成员函数)。 - **对象创建**:通过`new`关键字实例化一个类的对象。 - **封装**:将数据和操作数据的方法封装在类中,...
`,这表明该方法没有具体实现,必须在派生类中定义(第4题)。访问修饰符如`private`、`public`和`protected`用于控制类成员的可见性(第12题)。`this`关键字用于引用当前对象,而`null`是一个特殊的值,表示没有...
不过,我可以基于《Java面向对象程序设计(第二版)》这个标题和标签,来详细说明Java面向对象程序设计中可能涵盖的知识点。 在深入介绍之前,首先需要明确面向对象程序设计(OOP)是一种编程范式,它使用“对象”...
第10章 static修饰符.pptx 第10章 枚举.pptx ...第4章 类和对象(1).pptx 第4章 类和对象(2).pptx 第5章 类的继承.pptx 第6章 抽象类和接口.pptx 第7章 多态.pptx 第8章 包装器类.pptx 第9章 内部类.pptx
"ACCP5.0 S2"可能是一个计算机编程课程或培训计划的一部分,其中S2可能代表课程的第二阶段,而"Java OOP上机贯穿"则意味着学员将通过实际编程项目来实践和巩固所学知识。 源代码中包含的上机贯穿案例可能是多个小...
第二版的《Java面向对象程序设计》课件旨在深入浅出地介绍这一关键概念,帮助学习者掌握Java语言的基础以及面向对象编程的核心思想。下面将详细阐述Java面向对象编程的基本概念、特性及其在实际开发中的应用。 1. ...
本实验指导将深入讲解如何在Java 2(通常指的是Java SE 2)环境中,通过上机实践来理解和运用类与对象,以及如何有效地组织代码,例如使用package和import语句。 一、类与对象 1. **类的定义**:类是对象的模板或...
本资源包含的是《Java面向对象程序设计》一书第四章的源代码,这章通常会深入讲解类、对象、继承和多态等核心概念。 1. **类与对象**: - **类**:在Java中,类是对象的蓝图,定义了对象的属性(变量)和行为...
"Day3.7"可能是指学习课程的第三天第七个主题,具体可能涵盖了类和对象的深入探讨,例如抽象类、接口、构造器的使用、封装示例等。通过学习这部分内容,你可以更熟练地设计和使用Java类与对象。 总之,Java类和对象...
这篇博客文章可能探讨了如何通过不同的工具和技术来估算Java对象在内存中的占用空间。 首先,Java对象的大小不是固定不变的,它取决于对象的类结构,包括类中的属性数量、类型以及虚拟机的实现。每个对象都会有一个...
Java第四章类与对象,介绍类与对象的使用,关系,Java是面向对象的程序设计语言。封装性、继承性、多态性
在Java编程语言中,面向对象编程(Object-Oriented Programming, OOP)是核心特性之一,它基于类和对象的概念,使得代码结构清晰、可维护性高。在北大青鸟S2课程中,第二章主要讲解了如何使用Java来实现面向对象编程...