抽象:
1,抽象类里面可以有抽象方法,也可以没有抽象方法
2,如果一个类里面有抽象方法,那么这个类必然是抽象类
3,抽象类不能实例化,不能创建对象
接口
1,属性是常量,方法都没有实现
2,不能创建实例
3,内部方法只能用用public修饰
4,接口可以继承多个接口,类实现接口也可以实现多个接口,弥补了类单根继承的缺陷
final
修饰变量,变量是常量
修饰类,该类不能继承,
修饰方法,方法不能被重写
static
修饰变量,该变量是类变量
修饰方法,该方法可以直接被类名调用
类和对象:
类:类别,是对以一类事物的抽象描述。
如果不给类定义构造器,那么程序会为我们生成一个无参构造器,如果给类定义构造器
那么程序将不会为我们生成一个无参构造器。
如果不给属性赋初值,那么属性会有默认值。如:int double 默认值为0,其他为null.
public和private修饰属性的区别、
public:在其他类中,可以直接通过对象来访问。
private:在其他类中,不可以通过对象访问,要通过get,set方法。
对象:就是一个实体,是一个真实存在的实体,是内存的一块区域。 类名 对象名=new 类名();
示例:Student stu= newStudent ();
继承,重写,多态。
类的继承:
使用extends关键字,单继承,继承者为子类,被继承者为父类。
重载:重载的时候,方法名要一样,但是参数类型和个数不一样,
返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
示例:
public class Student {
void work()//work()方法是重载方法
{
}
void work(String n,double l){}//注意:重载的方法的返回值都是一样的,
void work(int a,String n){}//不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分
重写:若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,
则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
示例:
public class Father{
public void speak(){
System.out.println(Father);
}
}
public class Son extends Father{
public void speak(){
System.out.println("son");
}
}
this关键字:当前类的对象,谁来调用当前构造器或方法,那么this就表示当前调用者。
多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(父类引用指向子类)。
封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。在java中通过关键字private,protected和public实现封装。
封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。
适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。
1,抽象类里面可以有抽象方法,也可以没有抽象方法
2,如果一个类里面有抽象方法,那么这个类必然是抽象类
3,抽象类不能实例化,不能创建对象
接口
1,属性是常量,方法都没有实现
2,不能创建实例
3,内部方法只能用用public修饰
4,接口可以继承多个接口,类实现接口也可以实现多个接口,弥补了类单根继承的缺陷
final
修饰变量,变量是常量
修饰类,该类不能继承,
修饰方法,方法不能被重写
static
修饰变量,该变量是类变量
修饰方法,该方法可以直接被类名调用
类和对象:
类:类别,是对以一类事物的抽象描述。
如果不给类定义构造器,那么程序会为我们生成一个无参构造器,如果给类定义构造器
那么程序将不会为我们生成一个无参构造器。
如果不给属性赋初值,那么属性会有默认值。如:int double 默认值为0,其他为null.
public和private修饰属性的区别、
public:在其他类中,可以直接通过对象来访问。
private:在其他类中,不可以通过对象访问,要通过get,set方法。
对象:就是一个实体,是一个真实存在的实体,是内存的一块区域。 类名 对象名=new 类名();
示例:Student stu= newStudent ();
继承,重写,多态。
类的继承:
使用extends关键字,单继承,继承者为子类,被继承者为父类。
重载:重载的时候,方法名要一样,但是参数类型和个数不一样,
返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
示例:
public class Student {
void work()//work()方法是重载方法
{
}
void work(String n,double l){}//注意:重载的方法的返回值都是一样的,
void work(int a,String n){}//不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分
重写:若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,
则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
示例:
public class Father{
public void speak(){
System.out.println(Father);
}
}
public class Son extends Father{
public void speak(){
System.out.println("son");
}
}
this关键字:当前类的对象,谁来调用当前构造器或方法,那么this就表示当前调用者。
多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(父类引用指向子类)。
封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。在java中通过关键字private,protected和public实现封装。
封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。
适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。