Java三大特征
1.封装
什么是封装?
就是将一个类(能够描述现实世界事物的)的属性细节隐藏(成员变量私有化),保证数据的安全性,从而对外提供公共的//访问方法!
class Student{
//属性私有化
private String name ;//姓名
private int age ; //年龄
private String gender ;//性别
//...
//对外提供公共的访问方法
//给学生的姓名赋值
public void setName(String n){
name = n ;
}
//获取学生的姓名
public String getName(){
return name ;
}
//...
}
2.继承
什么是继承?
继承:将多个类的共性内容抽取到一个独立的类中,让这多个类和独立的类之间产生一种关系:继承!
格式:
class Fu{
//将一些功能抽取到父类中
}
class Zi extends Fu{
}
继承的好处:
1)可以提高代码复用性
2)提高的代码的维护下
3)类与类之间产生的关系:是多态的前提条件!
特点:
1)在Java语言中,类与类之间的关系,只支持单继承,不支持多继承!
2)可以支持多层继承!
class GrandFu{}
class Fu extends GrandFu{}
class Zi extends Fu{
}
子类的所有的构造方法的第一句话:super(); 默认的
子类的所有构造方法间接访问父类的无参构造方法:
需要让父类先进行初始化,因为子类中可能会用到父类的数据!(分层初始化)!
3.多态
什么是多态?
多态:一个事物在不同时刻体现的不同形态
前提条件:
1)必须继承关系
2)必须存在方法重写
3)必须父类引用指向子类对象
Fu f = new Zi() ;
成员访问特点:
1)成员变量:编译看左,运行看左
2)成员方法:(非静态):编译看左,运行看右,(存在方法重写)
3)静态的方法:不算方法重写,跟类相关(编译看左,运行看左)
4)构造方法:分层初始化(先父类,在子类)
多态的好处:
提高代码的复用性---继承来保证
提高代码的扩展性---多态保证(后期使用最多):父类引用指向子类对象 Fu fu = new Zi() ;
class Person{
public static int a = 100 ; //类变量
public static void eat(){//类方法
//xxxx
}
}
class PersonTest{
public static void main(String[] args){
//创建Person对象
// Person p = new Person() ;
// p.eat() ; //idea中对应static功能,对象名打点访问,不会提示(系统认为静态方法,变量访问方式:通过类名访问,而不是对象名访问)
Person.eat();//推荐访问方式
}
}