界明城
码龄17年
关注
提问 私信
  • 博客:62,641
    社区:1
    62,642
    总访问量
  • 58
    原创
  • 56,901
    排名
  • 196
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2008-02-13
博客简介:

饮冰室

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    510
    当月
    4
个人成就
  • 获得256次点赞
  • 内容获得14次评论
  • 获得360次收藏
创作历程
  • 25篇
    2024年
  • 24篇
    2022年
  • 5篇
    2020年
  • 1篇
    2018年
  • 2篇
    2017年
  • 1篇
    2016年
成就勋章
TA的专栏
  • 计算机图形学
    21篇
  • Audio Processing
    3篇
  • Multimedia Signal
    3篇
  • 数学
    1篇
  • 读书
    2篇
  • Image/Video Processing
    5篇
兴趣领域 设置
  • 人工智能
    opencv语音识别计算机视觉深度学习pytorch图像处理
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【Java25】内部类

把一个类定义在另一个类内部,就是内部类(也叫嵌套类)。包含内部类的类称为外部类(也叫宿主类)。大部分情况下,把内部类看成是成员内部类,也就是和成员变量、成员方法、构造器、初始化块类似的东西(想一想能够放在Java类内部的五种东西)。因此,成员内部类也就有两种:static修饰的“类内部类”(太拗口了,所以还是遵循传统叫静态内部类,或者就直接叫static修饰的成员内部类)和普通内部类。除此之外,成员内部类做为外部类的组成部分,具有访问权限,即publicprivateprotected。
原创
发布博客 2024.07.25 ·
756 阅读 ·
7 点赞 ·
0 评论 ·
22 收藏

【Java24】面向接口编程

利用接口可以降低程序各模块之间的耦合,从而提高系统的可扩展性和可维护性。
原创
发布博客 2024.07.23 ·
416 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

【Java23】接口

抽象类是多个子类抽象出来的模版。如果把这种抽象进行得再彻底一些,就可以提炼出更加特殊的”抽象类“,即。所谓接口,是比抽象类更抽象的东西:它不关心类方法的实现细节,甚至连类内部状态数据也不关心。它只规定类内必须提供某些方法(行为)。可以认为接口是多个相似类的行为的抽象,是某种。,体现了面向对象的特点。由上图可见,接口是比类更抽象的存在。通过使用接口,既可以让相似类之间聚起来(遵循同一个接口),又避免关系过于紧密(继承),从而实现。
原创
发布博客 2024.07.23 ·
700 阅读 ·
18 点赞 ·
0 评论 ·
8 收藏

【Java22】抽象类

编写类的时候,通常会为这个类定义一些方法,用来描述该类的行为方式,这些方法通常应该有具体的实现代码。但在有些情况下,父类只知道子类应该有什么行为,却不知道子类该如何实现这些行为。例如,父类Shape知道,它的子类应该能够计算周长。但是不同的子类计算周长的方式不同,即Shape类不知道子类该如何实现这个方法。既然这样,那父类干脆不要知道这个行为就好了。但是这样一来,假设一个Shape引用变量Shape a实际上指向的是Shape的子类的实例,那么这个引用变量就无法调用子类的方法了。
原创
发布博客 2024.07.18 ·
402 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

【Java21】final修饰符

final可以用来修饰类、变量和方法。类似C++里的const,表示被修饰的类、变量和方法不可改变。finalfinal修饰的变量并不是不能赋值,而是不能被重新赋值。一旦获得初始值之后,就不能修改的意思。final。
原创
发布博客 2024.07.17 ·
1150 阅读 ·
30 点赞 ·
0 评论 ·
7 收藏

【Java20】单例类

系统第一次使用这个类的时候,系统会为该类变量分配内存空间,类变量开始生效,直到该类被卸载,类变量所占空间才会被垃圾回收机制回收。一个类内,可以有5种成员:成员变量、成员方法、构造器、初始化块、内部类(包括接口和枚举)。类变量既可以通过类来访问,也可以通过对象来访问。但后者只是Java允许的,是一种假象,实际上访问的还是类变量。但如果不太像反复创建实例,比如房子里只有一个茶几、游戏只有一个窗口,这时反复创建多个对象就没有太大的实际意义。与类变量类似,类方法也是既可以通过类,也可以通过对象来调用。
原创
发布博客 2024.07.17 ·
140 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

【Java19】包装类

早期Java提供的基本类型变量和包装类对象之间的转换比较麻烦。现在大幅简化了,JDK1.5以后提供了自动装箱(autoboxing)和自动拆箱(autounboxing)功能。Java是面向对象的编程语言,但也包含了8种基本数据类型。这8种基本数据类型不支持面向对象的编程机制:没有成员变量、方法可以调用。自动包装和拆装必须注意类型匹配。返回来也可以把包装类的实例”近似“当成基本类型变量使用。把基本类型变量转换为字符串还有一种更简单的方法:将基本类型变量与空字符串。方法用于将基本类型变量转换成字符串。
原创
发布博客 2024.07.15 ·
307 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

【Java18】初始化块

和一起,是能在类中出现的成员。staticdefaultstatic虽然但是,同样修饰符的代码块没必要分成一个个小块块。因为代码块就是在创建Java对象的时候隐式执行的,而且总是全部执行。所以分成小块块和合并成一个大块块,没有区别。
原创
发布博客 2024.07.15 ·
699 阅读 ·
10 点赞 ·
0 评论 ·
12 收藏

【Java17】组合

则在实现代码复用的同时,保留了原本类的封装性。这两者一定程度上是有取舍的。
原创
发布博客 2024.07.12 ·
644 阅读 ·
22 点赞 ·
0 评论 ·
18 收藏

【Java16】多态

对面向对象语言来说,所有的对象(Object),或者说类的实例,本质上都是引用变量。因此,多态最主要就是针对对象来说的:声明时引用变量指向的对象的类型,和运行时引用变量指向的对象的类型不一致。即其编译时类型是父类类型,运行时类型是子类类型。那么也可以反过来,执行。引用变量在编译阶段只能调用其编译时类型拥有的方法,但是在运行时可以执行其运行时类型拥有的方法。类型转换运算符可以实现基本类型之间的转型,也能实现引用变量的转型。,这种引用变量的类型在声明它的时候就决定了;,这种变量的类型由实际赋给它的对象决定。
原创
发布博客 2024.07.11 ·
1132 阅读 ·
20 点赞 ·
0 评论 ·
19 收藏

【Java15】继承

(2)在子类的方法中也可以使用。
原创
发布博客 2024.07.09 ·
809 阅读 ·
28 点赞 ·
0 评论 ·
9 收藏

【Java14】构造器

如果有一天,A的代码改了,那么就要把B,C……实际上,调用构造器时,系统首先为该对象分配内容,并对这个对象执行默认初始化,这时这个对象已经产生了。当构造器执行完毕后,这个对象以构造器的返回值(注意构造器并没有显式定义返回值,但默认返回值就是对象的引用)被返回,通常直接赋值给一个。如果类中没有任何显式定义的构造器,系统会提供一个无参数的构造器,这个构造器执行体为空,不做任何事情(但是实际上执行了默认初始化)。的话,A修改完,B,C……既要在B中调用A,又不想创建额外的对象,方法就是依然使用构造器B来。
原创
发布博客 2024.07.08 ·
466 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

【Java13】包

虚拟机在装载lee.Hello类时,会依次搜索CLASSPATH环境变量所指定的系列路径,查找这些路径下是否包含lee路径,并在lee路径下查找是否包含Hello.class文件。如果在lee包下再定义一个子包,那么子包中的类不能直接访问lee包中的类了。此外,在使用子包中的类时,要使用该类的全名(包名+类名),不能省略前面lee包的路径。按道理,-d是指定编译结果.class文件的位置,这里指定是当前目录(.),但实际上是在当前路径下创建了一个文件夹lee,里面包含Hello.class。
原创
发布博客 2024.07.07 ·
785 阅读 ·
15 点赞 ·
0 评论 ·
8 收藏

【Java12】封装

从此之后,要么用锁开(成员类),要么通过这几个窗子来访问箱子内部的东西。如果一个Java源文件中,所有的类都没有public修饰,那这个源文件的文件名可以是任意名称;但是一旦有一个类被修饰为。三个访问控制符,表示3个访问控制级别(权限),再加上一个没有任何访问控制符的级别(default),一共4个级别。封装(Encapsulation)是面向对象的三大特征之一(另两个是继承和多态),指的是。,这是由于Java独特的**包(package)**机制导致的。在C++的基础上,Java的访问控制多了一个级别,
原创
发布博客 2024.07.07 ·
470 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

【Java11】变量的初始化和内存中的运行机制

对引用类型的局部变量,方法或代码块结束时,它销毁。此时堆中的对象或数组没有人指向它了。若没有任何引用变量指向它,会启动垃圾回收机制,销毁堆内存中的它。尽量使用类来调用类变量。虽然Java允许使用对象来调用类变量,但这太容易造成误会了。没必要非考验自己的智商。系统加载类或创建类的实例时,系统自动为成员变量分配内存空间,然后自动为成员变量指定初始值。
原创
发布博客 2024.07.05 ·
342 阅读 ·
8 点赞 ·
0 评论 ·
4 收藏

【Java10】成员变量与局部变量

Java中的变量只有两种:成员变量和局部变量。和C++不同,没有全局变量了。,field,我习惯称之为**”属性“**(但这些年,因为attribute更适合被叫做属性,所以渐渐不这么叫了)。是在方法中定义的变量。
原创
发布博客 2024.07.05 ·
425 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

【Java09】方法(下)

形参的类型后加。
原创
发布博客 2024.07.04 ·
283 阅读 ·
6 点赞 ·
0 评论 ·
3 收藏

【Java08】方法(上)

没有独立存在的。
原创
发布博客 2024.07.03 ·
372 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

【Java07】类中的this关键字

当static修饰的方法遇到this时,因为static修饰的方法属于类方法,不属于某个具体对象。因此,static方法中的this是无法指向明确的对象的。上述代码中,info()前使用this是允许的(Java允许),但是实际上应该是Example.info()才对。如果仅仅如此,this也就是个指示符而已,但是this还有一个作用,就是可以作为对象的引用变量。上述代码中,在run中实例化dog对象d,再调用d的方法,这么做本身没有问题,但是开辟了一块新的堆内存。构造器中的this也可以省略。
原创
发布博客 2024.06.25 ·
277 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

【Java06】Java中的类与对象

Java中对象(实例)的本质,是一个引用变量,和C++,以及之前介绍的数组引用变量类似。类似地,当没有任何指针指向这个对象,Java的垃圾回收机制就会启动。Java中的static关键字用来修饰方法、成员变量,表示。虽然static翻译成“静态”,但其实真正作用就是区分。因此也把static修饰的方法或变量称为。不用static修饰的成员方法或变量称为。这4中成员到底属于类本身还是属于单一实例。
原创
发布博客 2024.06.25 ·
316 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏
加载更多