javase-->基础知识(三)
1、方法
普通方法:4个必要,1个可选
1):必须有返回值类型,没有返回值用void表示
2):必须有名字
3):必须有()和形参
4):必须有{}方法体
5):可选static,表示静态的方法,可以用类名直接调用
2、类与对象
在分析问题的时候,先有类后有对象,类是由成员变量和成员方法组成的,写代码的时候先有的类后有的对象。
类是创建对象的模板,对象是类的具体实例。
对象的创建和使用:
1)new+构造函数创建对象,分配内存
2)使用对象,不管是属性还是方法,都用对象.访问
3)每个对象都有自己的属性
4)所有的对象共享同一个方法-->方法中还会用到属性,这个属性是谁的---谁调用我,属性就是谁的
3、抽象类VS接口
相同点:都不能产生对象 | 不同点:关键字不同 class interfacce extends implement
一般都有抽象方法 | 抽象类是一种特殊的类,类是数据和方法的有机结合,而接口偏功能没有普通数据
| 类只能单继承,而接口可以多实现,变相的实现了多继承
| 语义上的区别:继承是java OO的重要特点之一,语义比较严格,要符合is-a的关系
而接口语义相对宽松,可以是is-a的关系,也可以是has-a的关系
关于接口: jdk1.8之后,接口中可以定义方法体,但是要加default,还可以写lamba表达式。
4、抽象和多态
*抽象
java中两个地方需要用到抽象:1)分析事物事有客观对象抽象成类,分析他们的属性和方法,就可以定义class了
2)由类的共同属性和功能进一步向上抽取成其父类(抽象类)
*多态
多态是多种形态的意思,是指在运行时按照对象的实际类型来确定调用的方法
多态的三个必要条件:继承,重写,父类对象引用指向子类对象
5、重载(overload)和重写(override)
1)重载是指同一个类中,多个同名方法,它们的参数签名不同(个数,顺序,类型)
2)重写是指有继承关系的两个类中,子类对父类可访问的方法不满意,进行重写,父子方法返回值类型,名字,参数签名都必须一样。
重写的子类方法的访问控制权限要不小于父类的
重写的子类方法不能跑出新的checkedException,RuntimeException无所谓
javase-->基础知识(三)的更多相关文章
- java 基础知识三 java变量
java 基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...
- Python基础知识(三)
Python基础知识(三) 一丶整型 #二进制转成十进制的方法 # 128 64 32 16 8 4 2 1 1 1 1 1 1 1 例如数字5 : 101 #十进制转成二进制的方法 递归除取余数,从 ...
- JavaSE基础知识总结
最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料. 简单的列个目录吧: 一.数据类型和运算符 二.流程控制与数组 ...
- C# 基础知识 (三).主子对话框数值传递
在C# winform编程中,我们经常会遇到不同窗口间需要传递数值的问题.比如数据库的应用,主窗口填写内容num1,点击按钮,在弹出的子窗口显示对应num1值;或者在子窗口填写新注册用户名信息,在主窗 ...
- 快速掌握JavaScript面试基础知识(三)
译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...
- Dapper基础知识三
在下刚毕业工作,之前实习有用到Dapper?这几天新项目想用上Dapper,在下比较菜鸟,这块只是个人对Dapper的一种总结. Dapper,当项目在开发的时候,在没有必要使用依赖注入的时候,如何做 ...
- JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- javaSE基础知识(走向编程的门口)— 更新完毕
前言:玩儿编程最重要的一点:不要怕麻烦,感觉是在浪费时间: 能动手绝不哔哔:只要脑袋不傻,编程都是"一看就会,一练就废",开始学的时候,就算再基础的东西都建议手敲一遍 要有囫囵吞枣 ...
- Java的基础知识三
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- JavaSE基础知识(3)—流程控制结构
一.顺序结构 1.说明 程序从上往下依次执行,中间没有任何跳转或选择2.特点 变量必须遵循 “前向引用” (局部变量必须先声明.赋值,然后再使用!) 二.分支结构(条件) 1.说明 程序从两条或多条路 ...
随机推荐
- linux 让程序在后台运行的几种可靠方法
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...
- Linux 下 ---ThinkPHP 图片上传提示:上传根目录不存在!请尝试手动创建
2016年11月15日11:15:47 Windows下如果碰到如此问题,要看文件保存根路径里的rootpath,比如ThinkPHP框架里config.php文件里的的参数配置: //文件上传相关配 ...
- Android Studio如何减小APK体积
最近在用AndroidStudio开发一个小计算器,代码加起来还不到200行.但是遇到一个问题,导出的APK文件大小竟然达到了1034K.这不科学,于是就自己动手精简APK.下面我们大家一起学习怎么缩 ...
- 论php数组合并
注:尽量不要在循环中操作数据库. 1.两个一维数组合并成一个一维数组 $a = array('morning','afternoon','night'); $b = array('breakfast' ...
- 高性能异步图片加载器的JS库:lazysizes
<script src="lazysizes.min.js" async=""></script> 使用示例 <!-- non-r ...
- api接口类型
类型一:js+xml 类型二:纯php模式 参考: <?php $ip = '117.25.13.123'; $datatype = 'text'; $url = 'http://api.ip1 ...
- 使用Gitblit 在windows 上部署你的Git Server
Gitblit: 在windows 上部署你的Git Server 前言 之前在dudu的文章里看到过用bonobogit 部署在 IIS 7.5 上的Window 平台的git 服务器.学着部署使用 ...
- leetcode--Maximum Subarray
题目链接:https://leetcode.com/problems/maximum-subarray/ 算法类型:动态规划 题目分析:最大序列和 代码实现: class Solution(objec ...
- _weak typeof(self) weakSelf = self;
_weak typeof(self) weakSelf = self; (一)内存管理原则 1.默认strong,可选weak.strong下不管成员变量还是property,每次使用指针指向一个对象 ...
- 基于thinkphp的数组分页
function array_page($array,$rows){ import("ORG.Util.Page"); //导入分页类 $count=count($array); ...