文章分类 - java
摘要:位于rt.jar\java\lang\Object.class Object类是所有Java类的根基类(Java中只有一个根基类,C++中有多个)。如果在类声明中未使用extends关键字指明其基类,则默认其基类为Object类。 所有对象,包括数组,都实现了Object类的方法。 1、toStri
阅读全文
摘要:一、先看看重写之前的效果: package com.xiao.toString; /** * @author 笑笑 * @Date 2018年4月14日下午10:16:36 * */ public class Student { private String name; private int ag
阅读全文
摘要:前言 针对Java语言中的final关键字,想必都不陌生了。本来主要是来对final做关键字做一个总结。 final关键字用法 修饰类当用final去修饰一个类的时候,表示这个类不能被继承。注意:a. 被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为fianl。b. fin
阅读全文
摘要:Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何
阅读全文
摘要:源代码:public class Test {public static void main(String[] args) {B b=new B();b.m=3;b.n=7;long resultOne=b.g();long resultTwo=b.f();long resultThree=b.g(
阅读全文
摘要:第24节 Java成员变量的隐藏、方法的重写和super关键字 Java成员变量的隐藏 在编写子类时,我们仍然可以声明成员变量,一种特殊的情况是,如果所声明的成员变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏掉所继承的成员变量,即子类重新声明定义了这个
阅读全文
摘要:20180313 java java面向对象-super应用场景和各种隐藏现象什么时候我们使用super关键字呢?1、子类隐藏了父类的字段,该情况我们一般不讨论,因为子类隐藏了父类的字段,破坏了封装。eg:class SuperClass{public String name = "SuperCla
阅读全文
摘要:(提醒)成员变量和静态方法出现在子类中,我们一般称之为隐藏,请看下面的代码,不要被子类中“覆写”的静态方法所迷惑。 其实成员变量(无论是静态、实例、任何访问权限)、静态方法、私有方法都是静态绑定。 package cn.jxau.yuan.sharWeb; /** * Created by 编程只服
阅读全文
摘要:1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)3)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:
阅读全文
摘要:1。子类的构造过程中必须先调用父类的构造方法! 2。可以先用super()调基类,再用this()调子类。 super()必须写在子类的构造过程前面! eg:public class subClass(){ public subClass(){ super();//构造子类构造方法之前必须先调用父类
阅读全文
摘要:小编现在学习了一下继承中的构造方法,觉得还是总结一下比较好。【特点】1、子类的构造的过程中必须调用其基类的构造方法。2、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。3、如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法。使
阅读全文
摘要:一、子类中所有的构造方法默认都会访问父类中无参的构造方法因为子类会继承父类中的数据,可能还会使用父类的数据。所以子类初始化之前,一定要先完成父类数据的初始化。其实子类的每一个构造方法的第一条语句默认都是:super()/* eg1. 程序测试结果: Father的无参构造方法 Son的无参构造方法*
阅读全文
摘要:Java中的许多对象(一般都是具有父子类关系的父类对象)在运行时都会出现两种类型: 编译时类型和运行时类型,例如:Person person = new Student();这行代码将会生成一个person变量,该变量的编译时类型是Person,运行时类型是Student。 说明一下编译时类型和运行
阅读全文
摘要:1、当编译类型与运行类型不一致时,只能调用父类(编译类)中的属性和方法,若运行类中的方法重写了编译类的方法则调用的是运行类中的方法, 属性不能被重写; Person p=new Women(); 其中Person为编译类型,Women为运行类型;看这样一句代码:Person p=new Women(
阅读全文
摘要:编译时类型(compile-time type)和运行时类型(run-time type)区别 看完这个发生疑问: Java编译时类型和运行时类型 自己的测试代码如下: Parent package typetest; public class Parent { public int age; pu
阅读全文
摘要:一、前言最近在做笔试题的时候,才看到有这么一个知识点,查了好几篇博客,在这里记录一下二、是什么Java引用变量有两个类型,一个是编译时类型,还有一个是运行时类型。编译时类型是由声明该变量时使用的类型所决定,运行时类型是由该变量指向的对象类型决定如果两种类型不一致,就会出现多态,因此就会将子类对象之间
阅读全文
摘要:为什么要区分编译时类型和运行时类型? 看这样一句代码:Person p=new Women()(Women类继承自Person类)那么,假如p的属性修饰符为public 访问属性时得到的是Person类的属性还是Women类的属性,方法调用又是哪个类?答案:会得到Person类的属性,调用Women
阅读全文
摘要:我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊,但是在面试或者是SCJP认证题中围绕这些是会经常碰到的,所以这里来讨论下首先我们来看几个概念隐藏
阅读全文
摘要:1、编译时类型和运行时类型 Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型编译时类型:由声明该变量时使用的类型决定运行时类型:由该变量指向的对象类型决定如果编译时类型和运行时类型不一致,会出现所谓的多态。因为子类其实是一种特殊的父类,因此java允许把一个子类对象直接赋值给一个父类
阅读全文
摘要:隐藏指的是子类把父类的属性或者方法隐藏了,即将子类强制转换成父类后,调用的还是父类的属性和方法,而覆盖则指的是父类引用指向了子类对象,调用的时候会调用子类的具体方法。 (1) 变量只能被隐藏(包括静态和非静态),不能被覆盖 (2) 可以用子类的静态变量隐藏父类的静态变量,也可以用子类的非静态变量隐藏
阅读全文

浙公网安备 33010602011771号