继承
继承:
在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创造一个新的类,这种方式称为继承。
继承有点:1、代码可以重用性
2、父类的属性和方法可用于子类
3、设计应用程序变得更简单
4、子类可以扩展父类的属性和方法
class Animal{ String name; int age; public void move(){ }
} class Dog extends Animal{ //extends:Dog子类继承Animal父类属性并扩展了父类方法 public void speak(){ System.out.println("汪汪叫"); }
} class Fish extends Animal{ public void fliy(){ System.out.println("飞"); } }
私有属性(private)加get、set方法和公有属性有什么区别?
区别:1、私有属性加了get和set方法访问和设置,可以通过去掉get或set方法,将属性做成只读或只写属性。共有属性做不到。
2、私有属性加get和set方法,可以在set方法中,对赋值的数据进行合法性验证,从而保证属性值得合法性。共有属性做不到。
多态 :1、允许一个父类变量引用子类的对象,允许一个接口类型的变量引用实现类对象,反过来却不行
2、相同的行为,不同的实现。
public static void main(String[] args) { Animal ani=new Dog();//父类变量new 一个子类对象实现多态 } class Animal{ String name; int age; public void move(){ System.out.println("移动"); } } class Dog extends Animal{ public Dog(){ // super(); 在执行子类构造方法时首先会调用super();执行一次父类构造方法产生父类对象,然后在执行下下面的内容 System.out.println("奔跑"); } } }
重写:
1、方法名和参数列表、返回类型一致
2、调用方法时,优先调用子类重写的方法。如果子类没有重写父类方法,那么就调用父 类中继承方法
3、@Override 注释可以强行检测方法是否重写父类方法,如果该方法没有重写父类方法,则编译错误
class Super{ protected float getNum(){return 3.0f;} } public class Sub extends Super{ //Here } 下面哪些代码可放在Here处 a) float getNum(){return 4.0f;} //子类重写父类方法。子类方法访问修饰符要大于父类 b) public void getNum(){} //返回类型不同 ,不满足重写条件,参数列表相同不满足重载,编译错误 c) private void getNum(double d){} //重载方法 d) public double Getnum(){return 4.0d;} //不同的方法 e) public float getNum(){return 9;} //重写方法
文件的获取和设置:
1、首先在工程下建立了一个info.txt文件
money=3000
UserName=java
UserPwd=111
2、获取文件内容
获取 Properties pro=new Properties(); try{ pro.load(new FileReader("info.txt")); }catch(Exception e){ System.out.println("没有找到"); } String name=pro.getProperties("money"); 写入 Properties pro=new Properties(); pro.setProperties("age","20"); try{ pro.store(new FileWriter("info.txt"),null); }catch(Exception e){ System.out.println("没有找到"); }