Java面向对象知识点
对象:一切客观存在的事物都是对象
语法部分:
类的概念:1.类是对象的抽象
2.类是客观事物在人脑中的主观反应
3.类是对象的模板
类的设计:
属性:定义位置:类以内,方法以外
实例变量:1 有默认值,
2 至少在本类的内部有效,
3 可以和局部变量重复命名,局部变量优先
方法:功能 去掉static
声明部分:修饰符 返回值类型 方法名称 参数表 异常
实现部分 {}方法
构造方法:特殊方法
a.构造方法必须和类名相同
b.没有返回值类型组成部分,修饰符 方法名称 参数表 异常
c.不能手动调用,创建对象时,调用构造方法
作用:有参的构造方法,给属性赋值
注意:如果没有写出任何构造方法,默认的是公开的无参的构造方法
如果是写出有参数的构造方法,系统不再默认无参的构造方法
创建对象:
语法:new 构造方法(构造参数);
Student student1 = new Student();//调用无参数的构造方法
Student student2 = new Student(1, "yy");//调用有参数的构造方法
this关键字:
a.语法比较严格,
this(参数);调用本类的构造方法,必须在构造方法的第一句
注意:不要递归调用构造方法
b.类的内部,调用实例变量时加 this
当局部变量和实例变量重复命名时,局部变量优先,
如果是想使用实例变量加 this.属性名
方法的重载(overLoad)
作用:屏蔽了使用者使用的差异,调用方法时更加灵活
语法要求:
1.方法名称相同
2.参数列表不同(类型不同,个数,顺序);
3.返回值不要求
面向对象的三大特性:
1、封装
代码实现:对属性私有,提供公开的set/get方法
2、继承
关键字: extends
如:A extends B ---> B是A的父类
①私有的方法不可以继承
②构造方法不可以继承
关键字: super
①super.属性名、方法名表示访问父类的属性,或者调用父类的方法
②super(),传入实参代指调用父类的构造方法,必须放在构造方法的第一行
在构造方法中如果没有this,也没有super,那么系统会默认添加一个
方法的覆盖:子类继承父类的方法中有特殊的实现
语法要求:1、函数名必须相同,参数表一样,返回值类型一样(声明一样)
2、修饰符:和父类的相同或者更宽
修饰符的访问权限由窄到宽:
private----> default--->protected--->public
从一般到特殊的关系:父类是子类共性的抽象
instanceof 表示从属关系,是...的一种
3、多态
①父类的引用指向子类的对象
Animal a = new Dog();
②编译时多态:引用只能调用其引用下的方法或者访问引用下的属性
③运行时多态:运行的时候会根据实际类型调用其覆盖后的方法
多态的实质:方法的重载和方法的覆盖
①多态用在返回值上
public A m(){} 返回值是A类或者其子类
多态用在参数表中
public 返回值类型 m(A a){} 参数表可以是A类,或者是A的子类
Java面向对象知识点的更多相关文章
- Java 面向对象 知识点基础浅谈
1.类和对象的关系 类是一个抽象的模板,对象是根据模板制造出来的,只有类建立之后,对象才可以在类中实例化对象.举个例子讲:我要用黄金浇筑一块砖,我会在一个模型里进行,这样才能有砖的形状,那模型即是类, ...
- Java面向对象知识点精华
- Java最重要的21个技术点和知识点之JAVA面向对象
(二)Java最重要的21个技术点和知识点之JAVA面向对象 写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的J ...
- java面向对象编程知识点总结
一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...
- # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结
095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final
一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...
- Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统
理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的. 1.如何创建锁? Lock lock = new ReentrantLock(); ...
- Java面向对象的多态
Java中多态的概念是面向对象中除封装和继承外非常重要的知识点,也是Java面向对象三大特性最后一个特性 多态其实就是指对象存在的多种形态,多态分为引用多态和方法多态 引用多态的含义就是:父类的引用可 ...
- Java基础知识点
以下10点为JAVA 基础知识,后面将足以总结和完善以备面试 数据类型 (包装类,字符串,数组) 异常处理 Java IO和NIO 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...
随机推荐
- APP导致界面卡死,iPhone卡死
实测,是 Reachability 类创建实例过多导致 http://stackoverflow.com/questions/34063166/ios-9-app-freeze-with-consol ...
- 起步X5 的铛铛的安装部署过程
(2017年1月)主要资料: 1.铛铛的IM Server即时通信服务使用 actor https://github.com/actorapp/actor-platform ,开发者网站是:htt ...
- Tsinsen-1487:分配游戏【树状数组】
首先一定要看到x + y + z = N这个条件,没看到就世界再见了. 赢的人得分需要大于等于2,那么无非就是 (x, y), (x, z), (y, z), (x, y, z) 大于其他的点.但是考 ...
- 分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器
http://www.tuicool.com/articles/2eaQJn 用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器.目前基本已经成为了我的必 ...
- 上传文件到linux服务器
可以在SecureCRT下上传 先用使用命令下载一个文件:yum install lrzsz -y 然后在跳转到要保存的目录 最后,拖拽文件到secureCRT中即可
- html 5 本地数据库(Web Sql Database)核心方法openDatabase、transaction、executeSql 详解
Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome. Firefox.Opera等主流浏览器都已经支持Web ...
- jquery动态加载 去除js
!-- 这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getscript("test.js&quo ...
- 使用karma+jasmine做单元测试
目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...
- Chrome控制台详解
Chrome控制台详解 http://www.codeceo.com/article/chrome-console.html console.log('%casdf','font-size:16px; ...
- 关于pandas精度控制
最近使用pandas处理一批数据,数据中包含几个columns,它们的数据精度,例如 3.25165,1451684684168.0,0.23 处理完之后保存csv时发现,1451684684168. ...