Java基础学习-extends继承(成员变量,局部变量,成员方法)
package extend; /*面向对象-继承: * 多个类的共同成员变量和成员方法。抽取到另一个类中(父类),我们多个类就可以访问到父类的成员了 * */ class Game{ String name; double vesion;//版本号 String agent;//代理商 public void start() { System.out.println("游戏启动"); } public void stop() { System.out.println("游戏关闭"); } } class CF extends Game{ } class LOL extends Game { } public class extend { public static void main(String[] args) { CF cf=new CF(); cf.start(); LOL lol=new LOL(); lol.start(); } }
初步的认识后,现在来看下继承在java中的特点
package extend; class update{ public void update() { System.out.println("更新了"); } } class QQspeedandchuangqi extends update{ public void start() { System.out.println("game start....."); } public void stop() { System.out.println("game stop....."); } } class QQspeed extends QQspeedandchuangqi{ } class Chaungqi extends QQspeedandchuangqi{ } public class extends_java_special { public static void main(String[] args) { QQspeed qqspeed=new QQspeed(); Chaungqi chaungqi=new Chaungqi(); qqspeed.update(); qqspeed.start(); qqspeed.stop(); } }在以上代码中我们可以发现,java中的继承,不能实现一对多个父类,而可以多层次的继承。
继承中的成员变量,局部变量的特点:
package extend; class parents{ private String name="我是parents的成员变量"; } class Father extends parents{ public void speak() { System.out.println("我叫"+name); } } public class extends_member { public static void main(String[] args) { Father father=new Father(); father.speak(); } } /*在上述代码中 子类(Father类)继承了parents(父类),父类中有私有变量name,但是子类访问不了父类的私有变量,所以那么会报错*/
package extend; class parents{ String name="我是parents的成员变量"; } class Father extends parents{ String name="我是Father的成员变量"; public void speak() { System.out.println("我叫"+name); } } public class extends_member { public static void main(String[] args) { Father father=new Father(); father.speak(); } } /*在上述代码中 子类(Father类)继承了parents(父类),父类中有成员变量name,但是子类也有成员变量name, * 此时的打印输出为:我叫我是Father的成员变量 * 所以在同一个名称的成员变量下,对象访问的应该是子类的成员变量 */
package extend; class parents{ } class Father extends parents{ String name="我是Father的成员变量"; public void speak() { String name="我是Father的局部变量"; System.out.println(name); } } public class extends_member { public static void main(String[] args) { Father father=new Father(); father.speak(); } } /*在上述代码中 子类(Father类)继承了parents(父类),父类中有成员变量name1,但是子类也有成员变量name2, * 此时的打印输出为:我叫我是Father的局部变量 * 所以在有局部变量的时候就用局部变量,遵循就近原则 */ 总结下继承中的成员变量,局部变量的特点:
1.子类(Father类)继承了parents(父类),父类中有私有变量name,但是子类访问不了父类的私有变量。2.子父类中有相同名称成员变量,则依照就近原则,用子类的成员变量3.子父类中有不通的名称成员变量,则使用父类中的成员变量4.如果有局部变量就是用局部变量super:可以访问父类的成员this:引用当前对象
接下来是继承中的成员方法特点:
子类没有方法:package extend; class parents{ public void speak() { System.out.println("父母"); } } class Father extends parents{ } public class extends_member { public static void main(String[] args) { Father father=new Father(); father.speak(); } } 子类有同名方法 package extend; class parents{ public void speak() { System.out.println("父母"); } } class Father extends parents{ public void speak() { System.out.println("爸爸"); } } public class extends_member { public static void main(String[] args) { Father father=new Father(); father.speak(); } } /*如果子类中有这个方法,那么会进行方法的重写,覆盖父类方法,因为父类的方法不一定子类都具备。 如果子类没有方法,那么就会使用父类的方法。*/
Java基础学习-extends继承(成员变量,局部变量,成员方法)的更多相关文章
- Java面向对象学习-----类的成员变量
类的成员变量: 猜数字游戏:一个类A有一个成员变量v,通过随机产生一个100内的整数给v赋值.定义一个方法,对A类的成员变量v进行猜. 没有猜对的情况下提示如果大了则提示大了,小了则提示小了,并且 ...
- Java基础学习篇---------继承
一.覆写(重写) 1.含义:子类的定义方法.属性和父类的定义方法.属性相同时候 方法名称相同,参数相同以及参数的个数也相同,此时为覆写(重写) 扩充知识点: 覆盖:只有属性名字和方法名字相同,类型.个 ...
- Java面向对象学习-----类的成员变量2
请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp( ...
- java基础学习总结三(jdk7新特性、变量(局部变量和成员变量)、常量以及运算符)
一:jdk7新特性 可以表示二进制数值,以0b开头,中间可以使用下划线_分隔符.如下: @Test /** * 测试jdk新特性 */ public void testJdk7(){ int a=0b ...
- Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法
面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...
- Java基础学习-- 继承 的简单总结
代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...
- Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围
1.Java有三种访问权限修饰符,分别为public.protected.private,还有一种为缺省权限修饰符的情况,记为default.其中,可以由public和default来修饰类:这四种修 ...
- 继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程
继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...
- java基础学习总结——java环境变量配置(转)
只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...
随机推荐
- 004-shiro简介
一.什么是shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证.用户授权. spring中有spring security (原名Acegi),是一个权限框架,它和 ...
- 微信小程序 使用腾讯地图SDK详解及实现步骤
信小程序 使用腾讯地图SDK详解及实现步骤 微信小程序JavaScript SDK: 官方文档:http://lbs.qq.com/qqmap_wx_jssdk/index.html 步骤: 1 ...
- LightOJ - 1138 (二分+阶乘分解)
题意:求阶乘尾部有Q(1 ≤ Q ≤ 108)个0的最小N 分析:如果给出N,然后求N!尾部0的个数的话,直接对N除5分解即可(因为尾部0肯定是由5*2构成,那么而在阶乘种,2的因子个数要比5少,所以 ...
- js原型 作用域
了解JavaScript原型链之前首先肯定要知道什么是原型. JavaScript中,原型是一个对象,通过原型可以实现属性的继承.既然原型是一个对象,那么任何一个对象都可以称为原型吗?是,记住它.什么 ...
- Sublime Text 3 快捷键 一览
Sublime Text 3 快捷键精华版 Ctrl+Shift+P:打开命令面板 Ctrl+P:搜索项目中的文件 Ctrl+G:跳转到第几行 Ctrl+W:关闭当前打开文件 Ctrl+Shift+W ...
- linux centos7 安装zookeeper
linux 系统下 zookeeper 安装教程 1.下载安装包 1)进入安装目录 cd /home/install/ 2)下载 wget http://mirror.bit.edu.cn/apach ...
- Web开发相关笔记
1.MySQL命令行下执行.sql脚本详解http://database.51cto.com/art/201107/277687.htm 在可视化工具里导出.sql脚本 --> 放命令行里运行 ...
- Maven:Eclipse上Maven的配置
Eclipse上Maven的配置: 步骤: ①Maven下载地址: http://maven.apache.org/download.cgi# ②解压apache-maven-3.5.0-bin.zi ...
- Mysql导出导入数据库
1. 导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p database > database.sql 2. 导入数 ...
- quartz(3)--spring整合quartz入门案例
第一步:导入jar <!-- quartz --> <dependency> <groupId>org.quartz-scheduler</groupId&g ...