Java Little Knowledge
1.Constructor running order of Base class and Derived class
This is Alibaba's audition problem.
class A{
A(int x){
System.out.println(x);
}
}
class B{
A m=new A(1);
B(){
m=new A(2);
}
}
class C extends B{
A n=new A(3);
C(){
n=new A(4);
}
}
public class ali {
public static void main(String[]args){
new C();
}
}
output :
1
2
3
4
java Is different from C#.
java:Base class first
Base class member define.
Base class constructor
Derived class member define.
Derived class constructor.
C#:member define first
Base class member define.
Derived class member define.
Base class constructor.
Derived class constructor.
2.Derived class constructor will call Base class constructor.
//子类的构造函数会调用父类构造函数
class one {
public one(){
System.out.println("one");
}
}
class two extends one{
public two (){
System.out.println("two");
}
public two(String s){
System.out.println("two "+s);
}
}
class three extends two{
public three(){
this("haha");
System.out.println("three");
}
public three(String s){
super("haha");
System.out.println("three "+s);
}
}
public class Construct {
public static void main(String[]args){
new three();
}
}
3.i++
4.
5.
6.接口继承
interface A{
int n=3;
void fun();
}
interface B{
int n=3;//都是final类型的默认。
void fun();
}
class C implements A,B{
public C(){
//n=4;//wrong ,ambiguous二义性
//A.n=4;//wrong,final 类型不可赋值
}
public void fun(){//函数不会有二义性,只要有这个函数,就算实现了借口
}
}
public class InterfaceTest {
public static void main(String[]args){
new C().fun();
}
}
Java Little Knowledge的更多相关文章
- 10 Things Every Java Programmer Should Know about String
String in Java is very special class and most frequently used class as well. There are lot many thin ...
- Java 集合系列(四)—— ListIterator 源码分析
以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比 Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素. Iterator 包含四个方法 ...
- Java 集合系列(三)—— LinkedList
以脑图的形式来展示Java集合知识,让零碎知识点形成体系 LinkedList LinkedList是一种可以在任何位置进行高效地插入和删除操作的有序序列. 它的最基本存储结构是一个节点:每 ...
- Java 集合系列(二)—— ArrayList
ArrayList ArrayList 是通过一个数组来实现的,因此它是在连续的存储位置存放对象的引用,只不过它比 Array 更智能,能够根据集合长度进行自动扩容. 假设让我们来实现一个简单的能够自 ...
- java_对象序列化、反序列化
1.概念 序列化:将对象转化为字节序列的过程 反序列化:将字节序列转化为对象的过程 用途: A:将对象转化为字节序列保存在硬盘上,如文件中,如文本中的例子就是将person对象序列化成字节序列,存在p ...
- Linux一些错误总结
1.cannot verify <mydomainname> certificate, issued by '/C=US/O=Let's Encrypt/CN=R3': 解决1:wget ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java Knowledge series 4
JVM & Bytecode Has-a or Is-a relationship(inheritance or composition) 如果想利用新类内部一个现有类的特性,而不想使用它的接 ...
- Knowledge Point 20180506 深究Java的跨平台特性
本章主题:从骨子里看Java的跨平台;本文内容部分摘自https://www.cnblogs.com/roger-yu/p/5827452.html 有过基础Java知识的开发人员都知道Java是跨平 ...
随机推荐
- Android开发中XML布局的常用属性说明
<!-- 常用属性说明: android:id="@+id/button" 为控件指定Id android:text="NNNNNNNNNN" 指定控件的 ...
- Linux 下安装配置 JDK
JDK 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 按照自己的情况选择不同的版本下载 cd /usr ...
- linux线程同步(3)-读写锁
一.概述 读写锁与互斥量的功能类似,对临界区的共享资源进行保护!互斥量一次只让一个线程进入临界区, ...
- IE10、IE11 User-Agent 网站无法写入Cookie 问题[转]
你是否遇到过当使用一个涉及到Cookie操作的网站或者管理系统时,IE 6.7.8.9下都跑的好好的,唯独到了IE10.11这些高版本浏览器就不行了?好吧,这个问题码农连续2天内遇到了2次.那么,我们 ...
- Andorid 6连接Libreswan L2TP VPN
手机升级到Android 6以后,以前正常使用的L2TP VPN却无法连接了.服务器端日志: "vpnpsk"[119] 114.249.245.192 #240: no acce ...
- [转]nopcommerce商城系统--如何编写一个插件
本文转自:http://www.cnblogs.com/ganqiyin/p/3680771.html 原址:http://www.nopcommerce.com/docs/77/how-to-wri ...
- For循环案例---九九乘法表
概述:先创建一个Print99类,类中创建5个方法,分别为Test9901.Test9902.Test9903.Test9904.Test9905,分别打印出不同形状的九九乘法表,该类创建完成后再创建 ...
- UDP模式聊天
//client (前台) import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAd ...
- Mantis1.2.19 在Windows 平台上的安装配置详解
安装环境: WindowsXP 32 Apache2.2.22+PHP5.4.39+MySQL5.5.28 一.简介 MantisBT是由PHP开发的.基于WEB的缺陷跟踪系统,并采用开源数据库MyS ...
- [No000052]大蒜怎么吃最美容?吃大蒜的功效及禁忌
大蒜是最常见的香辛调味料,它被称为天然抗生素,富含大蒜素等多种营养物质和抗氧化剂,具有多种美肤美容作用. 大蒜的5种美容功效 1.除皱.大蒜里的某些成分,有类似维生素E与维生素C的抗氧化.防衰老特性, ...