java类中的main方法,为什么里面必须要有string []args 参数。那是因为有时候java是要在控制台运行,那个时候需要输入命令来运行,所以要有这个参数
一个文件里面只能有一个public的类。这个public的类之后可以被其他对象引用。
类和对象。类是对象的蓝图。
class Student{
public String name;
public double score;
public Student(String name){
this.name=name;
}
public String getName(){
return this.name;
}
}
当中this实际是指构建方法的当前对象。可加this也可不加,但是这里形参和name属性重名了,所以要this。
参考https://www.runoob.com/java/java-inheritance.html
field和method的修饰符
● public - 可以在 对 象外部 被 访问
● private - 只能在 对 象内部 被 访问
● protected - 可以在对象或子类的对象内部被访问
● static - 静态,表示field或method不属于对象,所有这个类的对象共享这
个对象或者方法
● final - 常量,不可变
类的继承
class Animal{
public void type(){
System.out.println("this is animal type");
}
public void speak(){
System.out.println("Lol");
}
}
class Dog extends Animal{
@Override
public void speak(){
System.out.println("wow");
}
}
里面有个@Overwride表示下面的方法一定是重写方法,如果父类里面没有对应的方法会提示报错。加了能够避免在重写方法的时候方法名不会写错。
构建对象的时候。一个父类的不同子类,在构建对象可以用父类去接。
public class Lesson03_2 {
public static void print(Animal animal){
animal.speak();
}
public static void main(String[] args){
// Dog dog1=new Dog();
// dog1.speak();
Animal dog=new Dog();
Animal cat=new Cat();
print(dog);
print(cat);
}
}
关于抽象类。里面有一个抽象方法的类才能叫做抽象类。抽象类不能被实例化。继承了抽象类的类必须实现抽象类的抽象方法。
abstract class Animal{
public void type() {
}
abstract public void speak();
}
关于接口。接口是类的一个抽象。接口里面的方法,抽象类里面必须得要实现。并且一个类可以implement多个接口,但是一个类只能继承一个类
interface Person{
void setName(String name);
String getName();
}
class GoodPerson implements Person{
private String name;
public void setName(String name){
this.name="good"+name;
}
public String getName(){
return this.name;
}
}
class BadPerson implements Person{
private String name;
public void setName(String name){
this.name="bad"+name;
}
public String getName(){
return this.name;
}
}