Java编程:类与对象详解
需积分: 0 58 浏览量
更新于2024-08-13
收藏 1.21MB PPT 举报
"本资源是一份关于Java编程的课件,主要讲解了Java中的类与对象,包括类声明、对象声明、对象分配以及对象引用等基本概念。此外,还涉及到了类变量、变量修饰符、继承等核心概念,并提供了课堂思考题目以帮助理解。"
在Java编程中,对象是类的实例,它们是程序运行时的数据结构。在Java中,对象声明是创建对象的第一步。例如,声明一个名为`Rect`的类的对象,可以这样写:
```java
Rect rect1, rect2;
```
这声明了两个`Rect`类型的对象,`rect1`和`rect2`。然而,这只是声明,它们还没有被实际分配内存空间。为了给这些对象分配内存,我们需要使用`new`关键字,像这样:
```java
rect1 = new Rect();
rect2 = new Rect(10, 20);
```
这里,`new Rect()`创建了一个没有参数的`Rect`对象,而`new Rect(10, 20)`则创建了一个具有长10和宽20的`Rect`对象。也可以将声明和分配同时进行:
```java
Rect rect3 = new Rect(10, 20);
```
一旦对象被创建,就可以通过`.`运算符来引用对象的变量和方法。例如,如果`Rect`类有一个计算面积的方法`Area()`,可以这样调用:
```java
Rect rect1 = new Rect(10.0, 20.0);
System.out.println(rect1.Area());
```
在Java中,`static`关键字用于声明类变量,这类变量由所有类的实例共享。如果在类`A`中有一个静态变量`b`:
```java
class A {
static int b = 12;
//...
}
```
那么,无论创建了多少个`A`的实例,`b`的值都是共享的:
```java
A a1 = new A();
A a2 = new A();
System.out.println(a1.b + a2.b);
```
在继承方面,Java支持单一继承,即一个类只能直接继承自一个父类。如果类`子类`继承自`父类`:
```java
class 子类 extends 父类 {
//...
}
```
子类将继承父类中`public`和`protected`访问级别的变量和方法,但不继承`private`的变量和方法。值得注意的是,所有Java类都间接或直接继承自`java.lang.Object`类。
课件中的一个思考题是,让学生编写一个矩形类,包含长和宽,以及返回矩形面积和周长的方法。然后在执行主类中声明并定义一个矩形类对象,输出其面积和周长。
此外,变量修饰符如`static`,决定了变量的存储方式和访问权限。`static`变量由类的所有实例共享,而非`static`变量是每个实例独有的。在访问`static`变量时,可以直接通过类名访问,而无需创建对象。这在理解和编写Java代码时非常重要,因为它影响了数据的存储和访问方式。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-31 上传
2010-03-28 上传
249 浏览量
154 浏览量
2022-06-18 上传
2023-05-30 上传
条之
- 粉丝: 25
- 资源: 2万+
最新资源
- Python库 | dev0s-3.7.0.tar.gz
- 20210809-华泰证券-固定收益月报:_后转型时代的城投债投研框架.rar
- ML-Matlab:一些针对MATLAB和ML本身的实践目的的ML算法。 练习来自斯坦福大学机器学习在线课程,由安德鲁·伍(Andrew NG)授课
- flexcontainer.github.io
- LiftPlates:Sponge的插件,可通过压力板控制电梯
- Simple-Todo:简单的 Android 待办事项列表应用程序
- 基于OpenCV+C++的车牌识别系统+tiny-dnn中的CNN框架做字符识别,+swift做Mac界面开发(毕设&课设)
- 人工智能_自然语言处理_语料库_中文公开聊天语料库
- HTML5+THREE.js实现粒子粉末流动的蝴蝶结动画效果源码.zip
- kubernetes-installation:该存储库仅用于kubernetes集群的准备和安装
- Gojira:此Cordova插件允许您在JS和Cordova 3.0+中使用本机转换。 头脑。 吹
- nodebb-plugin-carousel:NodeBB插件,用于漂亮的响应式轮播图像查看器
- mote-cloud:大规模环境传感
- C++20 Module Sample Code
- 深度学习与PyTorch入门实战教程-神经网络与全连接层.rar
- 科蓝软件:2021年半年度报告.rar