一文解释JAVA对象
package 包,有利于打包,减少代码明明冲突等等
对象无法比较,如字符串用 str.equals()
引入比较接口
private 私有,类的内部调用
protected 保护,同一类都课调用
public 公共,都可调用
static 静态变量,同类都会操作; 静态方法,无需实例,一直存在于类中
接口 大大简化类的编程
枚举 enum
构造父类
package Tutorial_1_Java_basic;
public class Dog_main {
public static void main(String[] args){
Dog tim = new Dog("Tim", 5);
tim.speak(); //类私有方法调用
tim.setAge(15);
tim.speak(); //类私有方法调用
tim.add_age();
tim.speak();
Cat_from_dog cat = new Cat_from_dog("Polo", 20, 22);
cat.speak();
cat.eat(2);
cat.speak();
System.out.println("单一变量赋值");
Cat_from_dog cat_1 = new Cat_from_dog("One");
cat_1.speak();
// STATIC 测试
// Tutorial_1_Java_basic.Dog.count = 0;
Dog bill = new Dog("bill", 10);
System.out.println(Dog.count);
// Static方法
Dog.display("hello world");
Cat_from_dog.display("CAT hello world");
// 比较对象
Dog tom = new Dog("Tim", 5);
System.out.println("对象比较"+tim.equals(tom)
+ " 名字比较: " + tim.equals_name(tom));
Dog tom2 = new Dog("Sim", 5);
System.out.println("首字母进行比较 "+tim.compareTo(tom)
+ " 父类与子类的比较: " + tom.compareTo(cat)
+ " 首字母S&T 之间的距离" + tom.compareTo(tom2)
);
System.out.println(tom.toString()); //JAVA 默认的方法 .toString()
Dog.InnerClass in = tom2.new InnerClass();
in.display();
}
}
构造子类
package Tutorial_1_Java_basic;
public class Cat_from_dog extends Dog {
private int food; // 只有此子类可以访问
public Cat_from_dog(String name, int age, int food) {
// 继承
super(name, age);
this.food = food;
}
public Cat_from_dog(String name){
// 其他继承方式
super(name, 0);
display("CAt call this");
}
public void speak(){
System.out.println("Hello " + this.name + ", YOUR Age is " + this.age
+ " and eat " + this.food);
}
public void eat(int x){
this.food -= x;
}
}
主程序运行
package Tutorial_1_Java_basic;
public class Dog_main {
public static void main(String[] args){
Dog tim = new Dog("Tim", 5);
tim.speak(); //类私有方法调用
tim.setAge(15);
tim.speak(); //类私有方法调用
tim.add_age();
tim.speak();
Cat_from_dog cat = new Cat_from_dog("Polo", 20, 22);
cat.speak();
cat.eat(2);
cat.speak();
System.out.println("单一变量赋值");
Cat_from_dog cat_1 = new Cat_from_dog("One");
cat_1.speak();
// STATIC 测试
// Tutorial_1_Java_basic.Dog.count = 0;
Dog bill = new Dog("bill", 10);
System.out.println(Dog.count);
// Static方法
Dog.display("hello world");
Cat_from_dog.display("CAT hello world");
// 比较对象
Dog tom = new Dog("Tim", 5);
System.out.println("对象比较"+tim.equals(tom)
+ " 名字比较: " + tim.equals_name(tom));
Dog tom2 = new Dog("Sim", 5);
System.out.println("首字母进行比较 "+tim.compareTo(tom)
+ " 父类与子类的比较: " + tom.compareTo(cat)
+ " 首字母S&T 之间的距离" + tom.compareTo(tom2)
);
System.out.println(tom.toString()); //JAVA 默认的方法 .toString()
Dog.InnerClass in = tom2.new InnerClass();
in.display();
}
}
接口
package Tutorial_1_Java_basic;// 只能用公共方法,无需定义
public interface Vehicle {
final int gears = 6; // 所有类都是6,全局变量
void changeGear(int gear);
void speedup(int change);
void slowdown(int change);
void display();
// 默认方法,内部函数调用
default void out(){
System.out.println("Default method");
}
//外部可以直接调用接口,static 方法
static int math_plus(int change){
return change + 1;
}
}
枚举类型
package Tutorial_1_Java_basic;
public enum Level_pro {
// 类似哈希表
high(3),
medium(2),
low(1);
private int lvlNum;
//哈希表构造器
private Level_pro(int num){
this.lvlNum = num;
}
public int getLvlNum(){
return this.lvlNum;
}
public void setLvlNum(int num){
this.lvlNum = num;
}
}