JAVA基础知识总结:九
二。面向对象特性之继承
1.什么是继承?
如果两个或者两个以上的类具有相同的属性和方法,我们可以抽取一个类出来,在抽取出来的类中声明各个类中公共的部分
被抽取出来的类-------父类,基类,超类
两个或者两个以上的类-----子类,派生类
二者之间的关系:子类 继承自 父类(基类)
2,语法
访问权限修饰符 class 子类类名 extends 父类类名 {
}
a.当子类继承自父类的时候,子类对象可以访问父类中的成员变量
b.子类同样可以调用父类中的方法
c.一个父类,可以有多个对应的子类
d.一个子类,只能有一个父类(单继承)
3.super
this是对当前对象的引用
super是对父类对象的引用
1》super.属性:访问父类中的成员变量
2》super.方法:访问的是父类中的方法
3》super():访问的是父类的构造方法
注意:a.super()必须出现在子类构造方法的第一行语句
b.super()具体调用的是父类中的哪个构造方法,取决于所传的参数
二、访问权限修饰符
1.访问权限修饰符:public\private\protected\default
2.default:如果没有添加访问权限修饰符的话,其实就是default权限(注意:default一定不能写出来)
3.修饰类:类的访问权限修饰符只有两个:public和default
访问权限修饰符 同包 不同包
public 可以 可以
default 可以 不可以
说明:
public修饰的类在不同包下可以访问,但是需要注意:
a.进行导包(需要使用类的全限定名,例如:包名.包名.类名;import com.b.Student;)
b.如果在不同包中有相同名字的类,在使用的时候一定要注意使用类的全限定名
4.修饰属性:四个访问权限修饰符都能用
权限大小:public>protected>default>private
访问权限修饰符 本类 同包不同类 子类(不同包) 不同包
private 可以 不可以 不可以 不可以
default 可以 可以 不可以 不可以
protected 可以 可以 可以 不可以
public 可以 可以 可以 可以
三、方法重写
1.重写规则
在具有继承关系的两个类中,子类中的方法如果满足了以下条件,就说子类重写了父类的方法
a.方法名相同
b.参数相同
c.子类方法的返回值类型必须和父类方法的返回值类型相同,或者是父类方法返回值类型的子类型
d.子类方法的访问权限必须大于等于父类方法的访问权限
2.final关键字
1》final修饰类:这个类不能被继承
2》final修饰方法:这个方法不能被重写
3》final修饰变量
当final修饰一个成员变量的时候,系统不会再给这个成员变量赋初始值,所以在使用之前需要我们手动进行初始化
静态成员变量:在声明变量的时候或者在静态代码块中进行初始化
非静态成员变量:在声明变量的时候或者构造代码块中或者构造方法中直接初始化
局部变量:
注意:final修饰基本数据类型和引用数据类型的区别?
当final修饰基本数据类型的时候,不能再对基本数据类型变量进行赋值
当final修饰引用数据类型的时候,引用类型变量不能再被重新赋值,但是可以改变引用变量所指向的内容
总结:a.final和访问权限修饰符没有关系,是相互独立的
b.对于基本数据类型变量,命名字母全部大写,不同单词之间使用下划线进行分隔
c.对于引用数据类型变量,命名不需要遵循常量命名规范
四、Object类
是Java中所有类的父类,在其中定义了一些常用的方法
1》toString()
2>getClass()
3>hashCode()
4>equals()
JAVA基础知识总结:九的更多相关文章
- Java基础知识陷阱(九)
本文发表于本人博客. 今天我来说说关于JAVA多线程知识,有错误请指出.大家都知道JAVA在服务端上处理也有很大优势,很多公司也有在服务器跑JAVA进程,这说明JAVA在处理这个多线程以及并发下也有一 ...
- JAVA基础知识(九)Java 异常
Throwable是Error和Exception的基类 Exception(异常) :是程序本身可以处理的异常. Error(错误): 是程序无法处理的错误.这些错误表示故障发生于虚拟机自身.或者发 ...
- Java基础知识陷阱系列
Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四 ...
- 第二十九节:Java基础知识-类,多态,Object,数组和字符串
前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...
- java基础知识文章汇总
将之前的所有关于Java基础知识的随笔,整理成质量较高的十几篇随笔,几乎是好几篇比较零散的随笔合成现在的一篇,自认为还不错. java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
随机推荐
- Java Build Path(Java 构建路径)
Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通过使用 Java 项目属性对话框中的 Java Build P ...
- csv文件读取
from urllib.request import urlopen from io import StringIO import csv data = urlopen("http://py ...
- Project Euler:99 Largest exponential C++
Comparing two numbers written in index form like 211 and 37 is not difficult, as any calculator woul ...
- MinHook测试与分析(x86下 E8,E9,EB,CALL指令测试,且逆推测试微软热补丁)
依稀记得第一次接触Hook的概念是在周伟民先生的书中-><<多任务下的数据结构与算法>>,当时觉得Hook的本质就是拦截,就算到现在也是如此认为. 本篇文章是在x86下测 ...
- log4j的基本使用和参数设定
1.简介 apache的一个开放源代码项目. 精确控制日志的输出,包括输出的格式,输出的目的地,输出的过滤(不同级别日志的输出)等. 配置简单,不需要在代码中配置环境,支持两种配置文件格式,XML和J ...
- ExtJS4为form表单必填项添加红色*标识
通常情况下,ExtJS4的form表单必填项在输入状态下会有特殊提示,非输入状态下,显示却和其他项没有任何区别.为使必填项更加容易区分,我们需要根据allowBlank的属性值,为form表单中的必填 ...
- Spring02-AOP
1,动态代理,指的是通过一个代理对象创建需要的业务对象,然后在这个代理对象中统一进行各种操作. 步骤: 1)写一个类实现InvocationHandler接口: 2)创建要代理的对象 2,创建一个简单 ...
- 在 docker 容器中捕获信号
我们可能都使用过 docker stop 命令来停止正在运行的容器,有时可能会使用 docker kill 命令强行关闭容器或者把某个信号传递给容器中的进程.这些操作的本质都是通过从主机向容器发送信号 ...
- 15 Validation
一.模型选择问题 如何选择? 视觉上 NO 不是所有资料都能可视化;人脑模型复杂度也得算上 通过Ein NO 容易过拟合;泛化能力差 通过Etest NO 能保证好的泛化,不过往往没法提前获得测试资料 ...
- mybatis枚举映射成tinyint
第一步:定义顶级枚举接口 public interface BaseEnum<E extends Enum<?>, T> { public T getCode(); publi ...