1.多态
(1).只有父类当中有方法
package com.unicom.test8;
public class Animal {
void eat(){
System.out.println("动物吃东西");
}
}
class Dog extends Animal{
}
class Cat extends Animal{
}
/*******************************************************/
package com.unicom.test8;
public class test {
public static void main(String[] args) {
Dog dog = new Dog();//Alt+Enter自动添加变量
dog.eat();
Cat cat = new Cat();
cat.eat();
}
}
(2).只有子类有,父类没有方法
(3).子类和父类都有调用的方法
(4).实例研究
package com.unicom.test9;
public class SuperClass {
String name = "sup-myxq";
void myxq(){
System.out.println("super--myxq");
}
}
/*********************************************************/
package com.unicom.test9;
public class SubClass extends SuperClass {
String name = "sub-myxq";
void myxq(){
System.out.println("sub--myxq");
}
}
/*********************************************************/
package com.unicom.test9;
public class test {
public static void main(String[] args) {
//把子类对象赋值给父类类型
//运行时,表现的还是子类的类型,去调用子类的方法
SuperClass sub = new SubClass();
sub.myxq();
//字段不存在多态
//字段前面对象是什莫类型,就调用谁的
System.out.println(sub.name);
}
}
2. 代码块的分类
3.final关键字
4.单例设计模式
/***************************饿汉模式********************************/
package com.unicom.test10;
class HurrySingleton {
// 1.必须得要在该类中创建一个对象出来。
private static final HurrySingleton INSTANCE = new HurrySingleton();
// 2.私有化自己 的构造器。防止外界通过构造器来创建新的对象。
private HurrySingleton() { }
// 3.给外界提供一个方法,能够 获取已经创建好的对象。
public static HurrySingleton getInstance(){
return INSTANCE;
}
}
/***************************懒汉模式********************************/
package com.unicom.test10;
public class LazySignleton {
private static LazySignleton INSTANCE = null;
//私有化构造器,阻止外部直接实例化对象
private LazySignleton(){ }
public static LazySignleton getInstance(){
if(INSTANCE == null){
synchronized (LazySignleton.class) {
if(INSTANCE == null){
INSTANCE = new LazySignleton();
}
}
}
return INSTANCE;
}
}
/***********************单例模式在工具类中的应用**************************/
package com.unicom.test10;
public class ToolUtil {
private static final ToolUtil INSTANCE=new ToolUtil();
private ToolUtil() { }
public static ToolUtil getInstance(){
return INSTANCE;
}
}