1.static Demo15
package test;
/**
* 继承
* 降低代码冗余
* static
* 修饰成员变量
*只能储存一次 可以被共享。修改
*/
public class Demo15 {
public static void main(String[] args) {
System.out.println(prac4.onlineNum);
System.out.println(prac4.getMax(10, 3));
prac4 a = new prac4();
a.name = "xsw";
a.stu();
//静态方法只能访问静态成员不能直接访问实例成员
//实例方法可以访问静态成员也能访问实例成员
//静态不能出现this
}
}
2.饿汉单例和懒汉单例Demo16-17
package test;
/**
* 使用饿汉单例实现单例类
*/
public class Demo16 {
/**
* 2.饿汉单例是获取对象前对象 就准备好了一个
* 定义static
*/
public static Demo16 instance = new Demo16();
//1.私有化
private Demo16(){
}
}
=======================================================
package test;
public class Prac5 {
public static void main(String[] args) {
Demo16 s1 = Demo16.instance;
Demo16 s2 = Demo16.instance;
System.out.println(s1 == s2);
}
}
package test;
//懒汉单例
public class Demo17 {
private static Demo17 getInstance;
public static Demo17 getInstance(){
if (getInstance == null) {
getInstance= new Demo17();
}
return getInstance;
}
private Demo17(){
}
}
===============================================
package test;
public class prac6 {
public static void main(String[] args) {
Demo17 s = Demo17.getInstance();
System.out.println(s);
}
}
3.继承 小部分知识点 Demo18
package test;
public class Demo18 {
public static void main(String[] args) {
//继承的设计思想
/*
子类不能继承父类构造器
子类可以继承父类私有属性但不能直接访问
子类共享父类静态成员
*/
Prac_student n1 = new Prac_student();
n1.setName("xiaocainiao");
n1.setAge(20);
System.out.println(n1.getName());
System.out.println(n1.getAge());
n1.que();//父类
n1.showInfo();//子类
son n2 = new son();
n2.setName("xiaobai");
n2.showname();
n2.showInfo();
}
}
=================================================================
package test;
/**
* 父类
*/
public class Prac_people {
public String name1 = "小王";
private String name;
private int age;
public void que(){
System.out.println(name+"在查看课表");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package test;
/**
* 父类
*/
public class Prac_people {
public String name1 = "小王";
private String name;
private int age;
public void que(){
System.out.println(name+"在查看课表");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
=============================================================
package test;
public class Prac_student extends Prac_people{
String name1 = "小哀";
public void showInfo(){
System.out.println(super.name1);
System.out.println(getName()+"在发呆");
}
}
class son extends Prac_student{
public void showname(){
String name1 = "小黑";
System.out.println(name1);
System.out.println(this.name1);
}
@Override//方法重写
public void showInfo() {
super.showInfo();
System.out.println("你在狗叫什么");
}
}