再探se
对象
- 没有分配内存空间的对象是一个特殊的对象 null
- null是引用类型的,但是没有指向任何位置,所以是不能被访问的,强制访问会空指针异常
- 针对具体对象的属性称之为对象属性,成员属性,实例属性
- 针对具体对象的方法称之为对象方法,成员方法,实例方法
静态
- 和对象无关,只和类相关的称为静态
- 和类相关的属性称为静态属性
- 和类相关的方法称为静态方法(static)
- 先有类,再有对象 静态属性和静态方法 随着类的产生而产生, 成员方法可以调用静态方法,有成员方法证明类一定是存在的,所以静态方法也一定存在, 静态属性通过对象也可以访问
- 成员方法可以访问静态属性和静态方法
- 静态方法不能访问成员方法
静态代码块:
- 随着类的创建加载完成后自动执行,
- 对象准备创建时,也会自动调用代码块,但不是静态的
构造方法
- 如果一个类中没有构造方法, ** jvm默认会添加一个无参的构造方法**,方便对象调用
- 如果有构造方法,则jvm不会提供,不论写了有参构造还是无参构造,jvm均不会提供
- 构造方法也是方法,但是不涉及返回类型,所以没有void等关键字,也可以传递参数,目的是用于对象属性的赋值
- 方法名和类名完全相同
extends 继承
- java中是单继承
- 从关系的角度来讲,一个子类只能有一个父类, 一个父类可以有多个子类
- 从对象的角度讲, 并不是每个子类都调用的同一个对象
- 父类对象是在子类创建之前完成, 创建子类之前会调用父类的构造方法,完成父类的创建
- 默认情况下, 会调用父类的默认构造方法完成父类对象的创建,使用super,java虚拟机自动完成
- 如果父类提供了构造方法, 则jvm不会再提供构造方法 , 子类应该显式的调用父类中的方法
- 一个 new 只能构造一个对象
- 对象构建完成, 在内存中开辟内存空间后才会有构造方法, 父类继承来的属性需要提前初始化
多态
- 一个对象在不同场景下表现出的不同状态 , 蜘蛛侠平常是记者,打击犯罪是超级英雄 , 约束了对象应该的场景
- 一个对象可以使用的功能取决于引用变量的类型
重载
- 一个类中, 相同方法不允许重复声明,也不能声明相同属性
- 子类对象包含了父类对象的所有内容
- 通过参数来区分 , 无参构造通过重载添加参数, 以达到在不同场景中的使用
重写 (发生在父子类之间,子类继承并重写父类)
- 返回值类型相同
- 方法名相同
- 参数列表相同
- 逻辑不通(子类逻辑覆盖父类逻辑)
//一个对象能使用什么方法,取决于变量的类型,
//具体执行什么内容是看这个方法的对象
递归
- 简而言之是对自己的无限循环, 不断地压栈的过程中如果不结束则会爆栈StackOverflow
- 调用自身时,传递的参数需要有规律,不能是无意义的内容
访问权限
- 对于main方法
- public 公共 访问权限修饰符
Java代码中, 公共类只能有一个 且 必须和 源码文件相同 - main方法是由jvm调用的, 默认应该可以任意调用, 而不用考虑任何权限
- 不加static则main方法变成了成员方法
- public 公共 访问权限修饰符
- private 私有化的只有本类能用 (同类)
- default 不设定任何权限时 jvm默认 提供的 称为包权限 (同类,同包)
- protected 受保护的权限 子类可以访问 (同类,同包,子类)
- public 所有人都能访问 (公共的)
- 外部类 只能用public, default
- 内部类
在外部类中的类 称为内部类,
应该当成外部类的属性使用
需要构建外部类对象才能使用
- 对于main方法
再探se的更多相关文章
- 【再探backbone 02】集合-Collection
前言 昨天我们一起学习了backbone的model,我个人对backbone的熟悉程度提高了,但是也发现一个严重的问题!!! 我平时压根没有用到model这块的东西,事实上我只用到了view,所以昨 ...
- ViewPager+Fragment再探:和TAB滑动条一起三者结合
Fragment前篇: <Android Fragment初探:静态Fragment组成Activity> ViewPager前篇: <Android ViewPager初探:让页面 ...
- 再探jQuery
再探jQuery 前言:在使用jQuery的时候发现一些知识点记得并不牢固,因此希望通过总结知识点加深对jQuery的应用,也希望和各位博友共同分享. jQuery是一个JavaScript库,它极大 ...
- [老老实实学WCF] 第五篇 再探通信--ClientBase
老老实实学WCF 第五篇 再探通信--ClientBase 在上一篇中,我们抛开了服务引用和元数据交换,在客户端中手动添加了元数据代码,并利用通道工厂ChannelFactory<>类创 ...
- Spark Streaming揭秘 Day7 再探Job Scheduler
Spark Streaming揭秘 Day7 再探Job Scheduler 今天,我们对Job Scheduler再进一步深入一下,对一些更加细节的源码进行分析. Job Scheduler启动 在 ...
- 再探ASP.NET 5(转载)
就在最近一段时间,微软又有大动作了,在IDE方面除了给我们发布了Viausl Studio 2013 社区版还发布了全新的Visual Studio 2015 Preview. Visual Stud ...
- 再探java基础——break和continue的用法
再探java基础——break和continue的用法 break break可用于循环和switch...case...语句中. 用于switch...case中: 执行完满足case条件的内容内后 ...
- 第四节:SignalR灵魂所在Hub模型及再探聊天室样例
一. 整体介绍 本节:开始介绍SignalR另外一种通讯模型Hub(中心模型,或者叫集线器模型),它是一种RPC模式,允许客户端和服务器端各自自定义方法并且相互调用,对开发者来说相当友好. 该节包括的 ...
- 深入出不来nodejs源码-内置模块引入再探
我发现每次细看源码都能发现我之前写的一些东西是错误的,去改掉吧,又很不协调,不改吧,看着又脑阔疼…… 所以,这一节再探,是对之前一些说法的纠正,另外再缝缝补补一些新的内容. 错误在哪呢?在之前的初探中 ...
- 再探Redux Middleware
前言 在初步了解Redux中间件演变过程之后,继续研究Redux如何将中间件结合.上次将中间件与redux硬结合在一起确实有些难看,现在就一起看看Redux如何加持中间件. 中间件执行过程 希望借助图 ...
随机推荐
- ZYNQ:Linux添加I2C-RTC驱动
硬件情况 使用的是DS1338这款RTC时钟芯片,I2C总线对应到PS端的I2C1. 配置 内核 添加有关的驱动: 因为DS1338用的驱动与DS13307相似,一找发现是同一个配置. CONFIG_ ...
- Linux 错误码
背景 Linux的错误码包含在/usr/include/asm-generic/errno-base.h和/usr/include/asm-generic/errno.h 这两个文件内. 可用于查询. ...
- Libgdx游戏开发(6)——游戏暂停
原文: Libgdx游戏开发(6)--游戏暂停-Stars-One的杂货小窝 暂停也是一个游戏的必要功能了,本文研究了Libgdx实现游戏暂停 例子以桌面端游戏实现讲解为主,至于移动端,可能之后会进行 ...
- DDP:微软提出动态detection head选择,适配计算资源有限场景 | CVPR 2022
DPP能够对目标检测proposal进行非统一处理,根据proposal选择不同复杂度的算子,加速整体推理过程.从实验结果来看,效果非常不错 来源:晓飞的算法工程笔记 公众号 论文: Should A ...
- 算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 216/10000 抱个拳,送个礼 神经网络设计与选择 参数初始化与优化 学习率 ...
- PHP 使用非对称加密算法
加密的类型: 在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文.目前主流加密手段大致可分为单向加密和双向加密. 单向加密:通过对数据进行摘要计算生成密文 ...
- Django日期字段默认值default=timezone.now
如果你确实希望默认值是当前日期和时间,Django 提供了一个方便的函数 django.utils.timezone.now 来实现这一目的. 你可以这样调整你的模型,以使用当前日期和时间作为默认值: ...
- 基于微信小程序的校园维修管理系统-开题报告参考
\n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 一.课题研究的目的和意义** 本研究开发基于微信小程序的物品维修系统,它不仅能实现专业的维 ...
- Django+Bootstrip 卡片模板设计 经典精品
下面是一个完整的卡片模板代码,包含所有元素,并使用Django的模板语言来处理状态字段的条件渲染.同时还包括示例视图和URL配置. 完整的卡片模板 <div class="card&q ...
- P9058 [Ynoi2004] rpmtdq 与 P9678 [ICPC2022 Jinan R] Tree Distance
思路: 注意到点对数量有 \(N^2\) 个,考虑丢掉一些无用的点对. 对于点对 \((x_1,y_1),(x_2,y_2)\),满足 \(x_1 \le x_2 < y_2 \le y_1\) ...