1.this :
2.构造器:
3.static:
package jiHeStudy;
public class Test03 {
public static void main(String[] args) {
//类变量只有一个
Student stu = new Student();
//对象.出类变量可赋值,不推荐
stu.userName = "wwx";
System.out.println(stu.userName);
Student stu1 = new Student();
//第二次对象.点出类变量赋值,会覆盖之前的赋值
stu1.userName = "lr";
System.out.println(stu.userName);
}
}
4.类方法设计工具类(静态方法):
5.类方法,实例方法的注意事项:
6.代码块:
7.单例类:
8.权限修饰符:
9.继承注意事项
10重写 :
11.子类访问其他成员变量:
12.子类构造器的特点:
13.子类构造器应用:
package jiHeStudy;
public class Test03 {
public static void main(String[] args) {
Teacher t = new Teacher("lishi",11,"java");
System.out.println(t);
}
}
class Teacher extends People {
String skill;
public Teacher(String name,int age,String skill) {
super(name,age);
this.skill = skill;
}
@Override
public String toString() {
return "Teacher{" +
"skill='" + skill + '\'' +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
class People {
String name;
int age;
public People() {
}
public People(String name, int age) {
this.name = name;
this.age = age;
}
}
13.this(参数)调用兄弟构造器:
14.什么是多态:
package duotai;
public class Test {
public static void main(String[] args) {
People p1= new Teacher();
p1.run();
System.out.println(p1.name);
People p2= new Student();
p2.run();
System.out.println(p2.name);
}
}
package duotai;
public class People {
String name="父类";
void run(){
System.out.println("跑步");
}
}
package duotai;
public class Teacher extends People{
String name="t";
@Override
void run() {
System.out.println("老师跑");
}
}
package duotai;
public class Student extends People{
String name="s";
@Override
void run() {
System.out.println("学生跑");
}
}
15.多态好处:
16.final:
17.常量:
18.抽象类:
19.模板方法:
package duotai;
public class Test {
public static void main(String[] args) {
People p1 = new Teacher();
p1.sing();
System.out.println("-----------------------");
People p2 = new Student();
p2.sing();
}
}
package duotai;
public abstract class People {
//模板方法
public final void sing(){
System.out.println("开始唱歌");
dosing();
System.out.println("结束唱歌");
}
abstract void dosing();
}
package duotai;
public class Teacher extends People{
//重写抽象方法
@Override
void dosing() {
System.out.println("老师们合唱");
}
}
package duotai;
public class Student extends People{
//重写抽象方法
@Override
void dosing() {
System.out.println("学生们合唱");
}
}
20.接口:
21.内部类:
21.1 4种形式:
21.2创建格式:
21.3成员内部类访问其他成员的特点:
21.4总结:
21.5静态内部类:
21.6局部内部类:
21.7匿名内部类!!!:
package jiHeStudy;
import java.util.ArrayList;
import java.util.Scanner;
public class Tset02 {
/*
动态开辟集合
*/
public static void main(String[] args) {
// Animal a= new Cat();
// Cat a = new Cat();
// a.cry();
Animal a = new Animal() {
@Override
public void cry() {
System.out.println("喵喵喵");
}
};
a.cry();
}
}
//class Cat extends Animal{
// @Override
// public void cry() {
// System.out.println("喵喵喵");
// }
//}
abstract class Animal{
public abstract void cry();
}
package Inner;
public class Test {
public static void main(String[] args) {
/*
new Swimming() {
@Override
public void swim() {
System.out.println("猫游泳");
}
}
这一串相当于一个猫的实例对象,可直接做方法的参数
*/
goGame(new Swimming() {
@Override
public void swim() {
System.out.println("猫游泳");
}
});
}
public static void goGame(Swimming s){
System.out.println("开始比赛");
s.swim();
}
}
interface Swimming {
void swim();
}
21泛型:
22泛型类: