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 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...
随机推荐
- C#设计模式(6)——原型模式
一.概念 二.模型 三.代码实现 ///火影忍者中鸣人的影分身和孙悟空的的变都是原型模式 class Client { static void Main(string[] args) { // 孙悟空 ...
- hdu 2614
#include<stdio.h> int map[99][99]; int vist[99]; int sum=1; int maxsum=1; int max=0; int N; vo ...
- doxygen 生成源码文档
使用doxygen 生成源代码的文档是相当方便的,本文就简单整理下doxygen的使用说明 1. 安装 关于安装的问题不做特殊的说明,这里直接使用命令安装, 源码安装不做介绍 ubuntu: sudo ...
- ERP软件数据库覆盖数据恢复成功/重装数据库系统软件,导致同名文件覆盖
ERP软件数据库覆盖数据恢复成功/重装数据库系统软件,导致同名文件覆盖 [数据恢复故障描述] 上海某酒店ERP软件原来安装在C盘上,用户误操作把软件进行了卸载,发现软件没有了, 但操作之前没有把原 ...
- Apache Mina(二)
在mina的源码,整个框架最核心的几个包是 : org.apache.mina.core.service :IoService.IoProcessor.IoHandler.IoAcceptor.IoC ...
- 在MVC中添加拦截器实现登录后的权限验证
1.新建一个类 (以下实现了打印日志功能) using System; using System.Collections.Generic; using System.Linq; using Syste ...
- Android 使用AsyncTask 下载图片的例子,学会使用AsyncTask
1.添加布局文件:activity_main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res ...
- tomcat 修改编码(Java之负基础实战)
1.找到server.xml 在tomcat安装路径/conf/server.xml 2.设置POST和GET使用相同编码 useBodyEncodingForURI="true" ...
- Python3基础 global关键字 使函数的局部变量升格为全局变量
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- Strut、Spring、Hibernate如何实现资源整合(SSH)呢?
Strut.Spring.Hibernate如何实现资源整合(SSH)呢? 其实很简单,我们从Spring与Hibernate的整合中可以看出来,由Spring的配置文件来管理Hiberbate的配置 ...