encapsulation封装 inheritance继承 polymorphism多态 this();表明调用构造方法 this(3);调用构造方法的 this必须放在第一行,this调用普通方法可以不放第一行 Shitf+delete是直接删除,不走回收站 一个java文件,最多只能有一个类是public,也可以没有public类。最后java执行有main方法的类 引用注意事项:一个引用在同一时刻最多只能指向唯一一个对象,一个对象在同一时刻可以被多个引用所指向。 当其中的一个引用对对象的属性进行了修改,会反映到其他的引用当中。 //原生数据类型传过去的就是数字,传的不是引用 public class test{ public static void main(String[] args) { C c =new C(); int a=2; c.test(a); System.out.println(a); } } class C{ public void test(int i){ i++; } } 打印结果是a=2,原生数据类型传过去就是传过去了,不是指针,没有指向 public static void main(String[] args) { Person2 person =new Person2(); Person2 person2 =new Person2(); person.name="zhangsan"; person.age=20; person2.name="lisi"; person2.age=30; } public Person2(int age,String name){ this.age=age; this.name=name; } 继承:java中是单继承的。意思是只有一个父类 java中实现 所有无显示继承的类的父类是object 调用子类的构造方法的时候,先调用父类的构造方法 子类对象创建的时候,先去调用父类不带参数的构造方法 例子: public class April6th_继承测试 { public static void main(String[] args) { Animal a=new Animal(1); Dog2 d =new Dog2(); } } class Animal{//父类,基类,超类 public Animal(int i){ } } class Dog2 extends Animal{ public Dog2(){ } } 这样编译不过去 解决方法1:给父类加一个不带参数的构造方法 解决方法2:给子类的构造方法里加super(2);使用super显示的调用父类的构造方法 super();必须是构造器的第一行语句 重载本类之间,重写父类子类之间 重写:Override,重写也叫覆写 关于继承: 1.构造方法不能被继承 2.子类可以继承父类的方法和属性 3.创建子类对象的时候,java编译器会自动调用父类的不带参数的构造方法,如果父类没有不带参数的构造方法,有两种解决方法。第一,手动给父类提供一个无参数的构造方法。第二,使用super()方法来显示的调用父类的有参数或者没有参数的构造方法 4.父类有的,子类继承过来,父类没有的,子类可以添加,父类有的子类可以修改 5.final不能被继承 6.访问权限继承过来以后可以增大,不能减小。protected访问权限的方法,继承以后可以变成public访问权限
时间: 2024-10-11 21:24:23