标签:java new super 封装 log sys 实现 psu 测试
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访问权限
标签:java new super 封装 log sys 实现 psu 测试
原文地址:http://www.cnblogs.com/mojiayi/p/6678316.html