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 下 ---ThinkPHP 图片上传提示:上传根目录不存在!请尝试手动创建
2016年11月15日11:15:47 Windows下如果碰到如此问题,要看文件保存根路径里的rootpath,比如ThinkPHP框架里config.php文件里的的参数配置: //文件上传相关配 ...
- [原创] C# dynamic拼接Json串
using Newtonsoft.Json; 之前拼接两个json串,是用的这样的代码 , json1.Length - ); json2 = json2.Insert(json2 - , tmp); ...
- sql笨办法同步数据
Helpers.SqlHelper sqlHelper = new Helpers.SqlHelper("server=***;database=Cms;user id=sa;passwor ...
- Gulp基础
1.什么是gulp? gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器. 2.为什么使用gulp? gulp不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工 ...
- js 查找树节点 数组去重
//查找树节点function findData(curOrg, id) { var array = []; if ((typeof curOrg == 'object') && (c ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Ubuntu下安装QQ22013
近期闲来无事,把退役的笔记本系统换成了Ubuntu. 系统安装异常的顺利,神速的安装完成.玩弄一会发现总是缺少了点什么,呆了半天发现缺少了企鹅. 由于对Ubuntu系统不了解,安装QQ着实让我头疼了半 ...
- EBS 中经常用到的一些值集
名称 值集 ...
- vue DatePicker vue2.0的日期插件
一个用vue2.0写的日期控件,可以支持简单的年月日选择.地址:https://github.com/Stevenzwzhai/vue-datepicker. 首先是关于日期对象的使用,基本就是日期的 ...
- centos6.5 mysql-server 5.1.73启动失败
yum install mysql-server 安装mysql服务端会把相应的客户端也装上 service mysqld start 启动mysql服务 解决办法: 1.chomod 777 / ...