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 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...
随机推荐
- UIAlertController高级之嵌入其他控件
在编码过程中,我们经常遇到需要这样一个效果,就是弹出框的嵌套; 举个最简单的例子,比如你要选择时间,必然需要一个时间选择器DatePicker.但是这个选择器又是在你点击某按钮时弹出,弹出方式最常见的 ...
- Redis的启动
http://www.cnblogs.com/goodspeed/archive/2012/10/18/2729615.html http://blog.csdn.net/yulei_qq/artic ...
- ios-贝塞尔曲线
git下载地址:git@github.com:lu459700780/UIBezierPath.git 演示: #import "ViewController.h" @interf ...
- UVa 10382 - Watering Grass
题目大意:有一条长为l,宽为w的草坪,在草坪上有n个洒水器,给出洒水器的位置和洒水半径,求能浇灌全部草坪范围的洒水器的最小个数. 经典贪心问题:区间覆盖.用计算几何对洒水器的覆盖范围简单处理一下即可得 ...
- mysql 和excel相互转换
原文地址:http://blog.sina.com.cn/s/blog_43eb83b90100h0mc.html 今天是全国数学建模比赛,同学选的一个题目需要对一个large的Excel表格进行统计 ...
- iOS 程序初始一个带导航栏的视图
@synthesize window = _window; @synthesize rootViewController = _rootViewController; - (BOOL)applicat ...
- 拖动条(SeekBar)的功能和用法
拖动条和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程序,而拖动条则通过滑块的位置来标识数值——而且拖动条允许用户拖动滑块来改变值,因而拖动条通常用于对系统的某种数值进行调节,比如调节音量等 ...
- HDFS存储系统
HDFS存储系统 一.基本概念 1.NameNode HDFS采用Master/Slave架构.namenode就是HDFS的Master架构.主要负责HDFS文件系统的管理工作,具体包括:名称空间( ...
- ejb ql 返回object
String sqlStr="select t.car_kind,count(t) from table1 t where t.jb_date='"+jb_date+"' ...
- 小试 Ninja
Ninja 是最近冒出来的一个 build system,它很像 make,然而效率更高,对大项目支持更好.当然我用 Ninja 和效率无关(我又没有那种有几百个中间目标的 C++ 项目要 build ...