项目上线,用户注册时验证码一直报错误,数据库也没问题,代码貌似也没问题。 后面排查到最后,发现是一个子类覆盖父属性问题。JAVA代码中,子类覆盖父类的私有、保护属性,如果不设置get、set方法,拿到的数据是父类的私有属性数据。父类:publicclass BaseAction extends ActionSupport {protected String verificationCode; // 验证码public String getVerificationCode() {return verificationCode;}publicvoid setVerificatio...
/*** @description:练习:创建两个线程,一个线程遍历50内的偶数,一个线程遍历50内的奇数* @date: 2020/7/25 11:02* @author: winson*/
public class CreateThread2 {public static void main(String[] args) {//1、传统调用方式:实例化后,使用对象调用线程;MyThread1 t1 = new MyThread1();MyThread2 t2 = new MyThread2();
// t1.start();
// t2.start();//2、创建Thread类的匿名子类的方式(面向对象中的知...
案例一:package android.java.oop15;// 描述Person对象class Person {// 构造方法就算不写 默认有一个隐式的无参构造方法:public Person(){} ,一旦写了构造方法 隐式的构造方法就消失了public Person() {System.out.println("Person() run...");}}// 描述Student对象class Student extends Person {// 构造方法就算不写 默认有一个隐式的无参构造方法:public Person(){} ,一旦写了构造方法 隐式的构造方法就消失了public Student(...
在Java的子类中,可以通过super来明确调用超类(也即父类)的方法。但当所调用的超类的方法(1)中又调用了其它的方法(2)时,由于Java默认动态绑定,所以方法(2)调用的是子类中的方法。如下,示例(1)是一般的子类调用超类方法(即所调用的超类中的方法不再调用其它的需要动态绑定的方法),示例(2)是特殊的子类调用超类方法。示例(1):package MyTest;
import java.util.*;public class MyTest {public static void main...
原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。在 Java 中可以通过锁和循环 CAS 的方式来实现原子操作。 CAS 操作——Compare & Set,或是 Compare & Swap,现在几乎所有的 CPU 指令都支持 CAS的原子操作。原子操作是指一个不受其他操作影响的操作任务单元。原子操作是在多线程环境下避免数据不一致必须的手段。int++并不是一个原子...
静态类型与动态类型静态类型:定义该引用变量的类型;动态类型:该引用实际指向的对象类型。比如:A a=new B();那么,引用a的静态类型就是A,动态类型就是B。静态绑定与动态绑定静态绑定:所有依赖于静态类型来将某方法和该方法所在的类关联起来的动作都是静态绑定。因为静态绑定在程序运行前发生,所有又叫前期绑定。动态绑定:所有依赖于动态类型来将某方法和该方法所在的类关联起来的动作都是动态绑定。因为动态绑定是在程序运...
Java IO(十五)FilterReader 和 FilterWriter、FilterReader 子类PushBackReader一、介绍FilterReader 和 FilterWriter 用于读写过滤后的字符流的抽象类。除了简单覆盖父类方法,没有添加额外的方法。FilterReader:过滤器字符输入流,用于读取过滤后的字符流的抽象类。FilterWriter:过滤器字符输出流,用于写入过滤后的字符流的抽象类。(三)、子类FilterWriter没有子类,FilterReader子类只有PushBackReader类,FilterWriter与...
子类不继承父类的构造方法,但父类的构造方法对子类构造方法的创建有影响。具体来说就是:①.当父类没有无参构造方法时,子类也不能有无参构造方法;且必须在子类构造方法中显式以super(参数)的形式调用父类构造方法。否则会出现如下的错误:Implicit super constructor Person() is undefined for default constructor. Must define an explicit constructor子类在有参构造方法中显式调用super(参数)后,如果再写一个无参构造方法...
本系列内容全部来自于http://www.cnblogs.com/skywang12345/p/3514589.html 特在此说明!!!!! 根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray ;3. 引用类型: AtomicReference, AtomicStampedRerence, AtomicMarkableReference ;4. 对象的属性修改类型: AtomicIntegerFieldUpda...
1java中:2import java.util.Scanner;3publicclass ClassTest{4publicstaticvoid main(String args[]){5 child ch=new child(2);6 parent p=ch;7 p.print();8//p.print2();//调用错误,父类中没有改成员方法,该方法只属于子类! 9 }
10}
1112class parent{
13int xx;
14 parent(int x){
15 xx=x;
16 }
17void print(){
18 System.out.println("this is parent!");
19 }
20int f(){
21int ...
成员变量的隐藏和方法的重写Goods.javapublicclass Goods {publicdouble weight;publicvoid oldSetWeight(double w) {weight=w;System.out.println("double型的weight="+weight);}publicdouble oldGetPrice() {double price = weight*10;return price;}
}CheapGoods.javapublicclass CheapGoods extends Goods {publicint weight;publicvoid newSetWeight(int w) {weight=w;System.out.println("int型的weight="+weight);}publicdo...
说明HashSet保证元素的唯一性,可是元素存放进去是没有顺序的。在HashSet下面有一个子类java.util.LinkedHashSet,它是 链表 + 哈希表(数组+链表 或者 数组+红黑树)组合的一个数据结构。即相对HashSet而言,多了一个链表结构。多了的那条链表,用来记录元素的存储顺序,保证元素有序举例HashSet集合例子1import java.util.HashSet;publicclass DemoLinkedHashSet {publicstaticvoid main(String[] args) {HashSet<String> hashSet ...
Java开发知识之Java中的集合类一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就是存储数据的集合.我们可以看一下继承图:Collection接口. 由 Set类.以及 List类就行实现. 并且还有子类. Map 有 HashMap类. 还有 TreeMap类继承. 各个类都是不一样的.比如 List.代表链表类.可以存储数据,是连续的.只要有前驱后继即可. 子类就是对链...
一、父类引用指向子类对象时 1、若子类覆盖了某方法,则父类引用调用子类重新定义的新方法2、若子类未覆盖某方法,则父类引用调用父类本身的旧方法3、若子类覆盖了某属性,但父类引用仍调用父类本身的旧属性4、若子类未覆盖某属性,则父类引用调用父类本身的旧属性5、父类引用不能访问子类新定义的方法 二、子类引用指向自身对象时 1、若子类覆盖了某方法,则子类引用调用子类重新定义的新方法2、若子类未覆盖某方法,则子类引用调...
class Fu{ int a=2; Fu() { System.out.println("fu run"); }}class Zi extends Fu{ Zi() { System.out.println("zi run"); }}public class Copy { public static void main(String[] args) { Zi zi = new Zi(); System.out.println(zi.a); }}运行结果为 fu run ,zi run ,0 说明子类在实例化的时候,调取了父类的构造函数中的方法,但并没有调用成员变量。,====== 子类 实例化的时候 默认调用父类为空的构造方法 即super...