文章分类 - java
摘要:1.重写方法的方法名和参数列表要和被重写方法一致。 2.在 java 1.4版本以前,重写方法的返回值类型被要求必须与被重写方法一致,但是在java 5.0中放宽了这一个限制,添加了对协变返回类型的支持,在重写的时候,重写方法的返回值类型可以是被重写方法返回值类型的子类。 示例代码如下: class
阅读全文
摘要:重写不能破坏父类的访问性和逻辑结构性。对于异常重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。 重写规则之一:重写方法不能比被重写方法限制有更严格的访问级别。(但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限
阅读全文
摘要:重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型、参数个数、参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg:void a ()和int a() ,如果调用a(),出现歧义) 3.main方法也是可以被重载的
阅读全文
摘要:公众号偶然看到的一个帖子,构造方法,类方法,final方法,哪些能覆盖,哪些能重载,初学时也是被这些术语搞的很迷糊 现在有时间了对这些做一个总结。全是自己的语言,可能不是很全面,表达意思应该够清楚 一、叫法 构造方法:又叫构造器,构造函数。通常有无参构造器和带参数的构造器2种,每个类都有一个构造方法
阅读全文
摘要:1 //方法的重写 2 /* 3 注意:方法的重写要遵循“两同两小一大”规则 4 “两同”即方法名相同、形参列表相同; 5 “两小”(1)指的是子类方法返回值类型比父类方法的返回值类型更小或相等,【什么意思?】 6 (2)子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等。 7 “一大”指的是...
阅读全文
摘要:由于java是一种面向对象的语言,万事万物皆对象,用户定义一个类,这是一个广泛的定义,需要用户具体化,实例化这个广泛的类,确定这个具体的对象。在java程序中,对象可以被显式创建和隐式创建,主要说一下显式的创建对象的方式。 在之前被问过创建对象有几种方式,当时就回答了有一种,用new关键字创建,这是
阅读全文
摘要:一、使用new关键字,调用构造方法创建对象 运行过程: 1、给新对象分配内存空间,将数据存储到堆。 2、执行显示的初始化。 3、执行构造器。new方法中括号参数传递给构造器,初始化该对象。 4.该变量被赋值为堆内存中新对象的引用 简而言之:在Java内存的堆中新添加一个new的对象,通过构造方法初始
阅读全文
摘要:方式1:通过Object类的getObject()方法 Person p = new Person(); Class c = p.getClass(); 方式2: 通过 类名.class 获取到字节码文件对象(任意数据类型都具备一个class静态属性,看上去要比第一种方式简单)。 Class c2
阅读全文
摘要:用==和equals比较他们 返回的是true。
阅读全文
摘要:在java中,我们经常会将一个对象赋值给另一个对象,比如 Student s1 = new Studnet(12,"李四"); Student s2 = s1; s2.setID(36); System.out.println(s1+"___"+s2);当你对对象进行操作,不管是赋值之前还是之后,两
阅读全文
摘要:Student类: public class Student implements Cloneable,Serializable{ private static final long serialVersionUID = 4736229991747913221L; private int age;
阅读全文
摘要:一看就懂的,java深拷贝浅拷贝 将一个对象的引用复制给另外一个对象,一共有三种方式。第一种方式是直接赋值,第二种方式是浅拷贝,第三种是深拷贝。所以大家知道了哈,这三种概念实际上都是为了拷贝对象啊。 1、直接赋值 好,下面我们先看第一种方式,直接赋值。在Java中,A a1 = a2,我们需要理解的
阅读全文
摘要:对象的copy你兴许只是懵懂,或者是并没在意,来了解下吧。 对于的github基础代码https://github.com/chywx/JavaSE 最近学习c++,跟java很是相像,在慕课网学习c++也算是重温习了下java基础 明白了当初讲师一直强调java传递的话只有值传递,不存在引用传递,
阅读全文
摘要:浅拷贝: 深拷贝: 利用序列化来做深复制,把对象写到流里的过程是序列化(Serilization)过程,而把对象从流中读出来的过程则叫做反序列化(Deserialization)过程。应当指出的是,写在流里的是对象的一个拷贝,而原对象仍然存在于JVM里面。,利用这个特性,可以做深拷贝 。
阅读全文
摘要:一、前言 任何变成语言中,其实都有浅拷贝和深拷贝的概念,Java 中也不例外。在对一个现有的对象进行拷贝操作的时候,是有浅拷贝和深拷贝之分的,他们在实际使用中,区别很大,如果对其进行混淆,可能会引发一些难以排查的问题。 本文就在 Java 中的深拷贝和浅拷贝做一个详细的解说。 二、什么是浅拷贝和深拷
阅读全文
摘要:Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有属性a和b。那么对对象A进行拷贝操作赋值给对象B就是:B.a=A.a; B.b=A.b; 在程序中拷贝对象是很常见的,主要是为了在新
阅读全文
摘要:继承条件下构造方法的调用规则如下。 1.如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身其他构造方法。则系统 会默认先调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。在这种情况下,有没有“super();”语 句,效果都是一样的。 2.如
阅读全文
摘要:继承中构造方法的注意事项 A:案例演示 父类没有无参构造方法,子类怎么办? super解决 this解决 B:注意事项 super(…)或者this(….)必须出现在构造方法的第一条语句上代码1:class Demo06_Extends{ public static void main(String
阅读全文
摘要:在Java中,如果一个类没有任何显式创建的构造器则该类默认会有一个无参构造器;如果显式创建了有参构造器则该类就不再有默认无参构造器。 在Java继承中,构造器并不能被继承,而是被显示或隐式调用。 1、子类的构造方法中必须调用其基类的构造方法(显示或隐式) 1.1、若是显示调用,则可以通过 super
阅读全文
摘要:1.子类构造的过程必须调用其基类的构造方法。(因为一个子类对象里面还有个父类对象啊)所以子类对象在构造的过程中应该首先调用父类的构造方法。 2.子类可以在自己的构造方法中使用 super(argument list) 调用基类的构造方法。(argument list是数列表的意思) ①使用 this
阅读全文

浙公网安备 33010602011771号