• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > Java序谈之代码块和继承知识

Java序谈之代码块和继承知识

作者:Guardianship_ 字体:[增加 减小] 来源:互联网 时间:2017-12-08

Guardianship_通过本文主要向大家介绍了java,面向对象,class等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

代码块

什么是代码块?

代码块简单来说就是一对“{ }”,在大括号中写入内容

代码块有哪几类?

1、局部代码块

位置:在方法中

定义在方法中,限制了代码块中变量的声明周期

2、静态代码块

位置:在类中,方法外

特点:用于给类进行初始化,随着类的加载而加载,只会执行一次

作用:用于加载驱动程序,用于加载JDBC连接数据库

3、构造代码块

位置:在类中,方法外

用于给你所有的对象进行统一初始化

4、同步代码块

继承

什么是继承?

继承是类与类之间的一种关系,是面向对象思想的特征之一,关键次是extends

继承的特点是什么?

1、提取了几个类中共有的代码部分,写成一个父类

2、减少了代码的编写,减少了工作量

满足继承的逻辑条件是什么?

满足类与类之间是 is - a 的关系,一个类是另一个类的一种

this和super

this:代表的是本类对象的引用

super:代表父类对象的引用

重写和重载的定义与区别?

重写:一般出现在类与类的继承中,子类和父类中有相同的函数,这时候出现子类函数将父类函数重写的现象。

重载:一般在类中,出现函数名相同,但是参数列表不同的情况。

继承的时候子类与父类出现同名成员变量和同名方法怎么解决?

代码示例:

public class Demo05this语句 {
	public static void main(String[] args) {
		Apple apple = new Apple();
		apple.print();
	}
}
class  Fruit{
	int num2 = 20;
	public void print() {
		System.out.println(this.num2);
	}
}
class Apple extends Fruit{
	int num2 = 30;
	public void print() {
		super.print();
		System.out.println(this.num2);
		System.out.println(super.num2);
	}
}

同名变量:在子类中使用super.变量名的方式调用、输出。注意这是一个值,不可单独做语句,需要语句接收或者直接输出

 

同名方法:建立对象调用方法,出现父类方法被覆盖的现象,这时候可以在方法中使用super.方法名的方式进行调用父类方法

final关键字的作用?

1、修饰类:类不可别继承

2、修饰变量:变量仅可被初始化一次,之后数值无法更改,变量名大写,单词之间用"_"隔开

3、修饰方法:方法不可被重写

类的内容的书写顺序是什么?

私有化成员变量

静态代码块

构造代码块

构造函数

成员函数(局部变量)

继承的正规代码书写格式

代码示例:

public class Demo08示范继承类 {
	public static void main(String[] args) {
		
		Teacher A = new Teacher("wangning",18);				
		A.Teach();
		
		Teacher B = new Teacher();
		B.setName("sss");
		B.Teach();			
	}
}

class Person {
	private String name;
	private int age;
	public Person() {
	}
	public Person(String name,int age) {
		this.name = name;
		this.age = age;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void setAge(int age) {
		this.age =age;
	}
	public int getAge() {
		return age;
	}
}

class Teacher extends Person {
	public Teacher() {
		
	}
	public Teacher(String name,int age) {
		super(name,age);
	}
	public void Teach() {
		System.out.println(this.getName()+"讲课");
	}
}

 

 

 

如何修改被私有化的成员变量的值?

1、当类不被继承的时候

  • 使用构造函数进行初始化
  • 建立对象后,使用set和get方法进行操作

2、当类被继承的时候

  • 使用子类构造函数,并使用super()语句实现操作
  • 建立对象使用父类set和get方法实现操作

 

 

 

 

 

 

 

 

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JavaThreadPoolExecutor线程池调度器
  • 全面掌握Java内部类
  • Java中的常用阻塞队列源码分析
  • Java虚拟机(四)垃圾收集算法
  • Java内存模型与线程
  • Java中如何优雅正确的终止线程
  • [译]深入字节码操作:使用ASM和Javassist创建审核日志
  • IntelliJIDEA平台下JNI编程(五)—本地C代码创建Java对象及引用
  • 【java总结】设计模式详解
  • Java代码中常见技术债务处理之Exception

相关文章

  • 2017-05-28java根据模板动态生成PDF实例
  • 2017-11-12大括号{}的意义与静态代码块与构造函数的加载关系
  • 2017-05-28java判断ftp目录是否存在的方法
  • 2017-05-28Java非递归实现删除任意目录的方法
  • 2017-05-28Spring Boot Log4j2的配置使用详解
  • 2017-05-28Java synchronized关键_动力节点Java学院整理
  • 2017-05-28Servlet实现多文件上传功能
  • 2017-05-28Struts2拦截器登录验证实例
  • 2017-05-28Java中四种访问权限资料整理
  • 2017-05-28Java微信公众平台开发(14) 微信web开发者工具使用

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 超实用的Java快捷键(总结)
    • 详谈java线程与线程、进程与进程间通信
    • Lambda表达式和Java集合框架
    • java随机验证码生成实现实例代码
    • 简单谈谈RxJava和多线程并发
    • 关于多线程常用方法以及对锁的控制(详解)
    • javaweb分页原理详解
    • Java通过jersey实现客户端图片上传示例
    • spring boot日志管理配置
    • Java经典排序算法之归并排序详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有