Java的类、方法、属性(多态,继承,封装)
2017-11-17 21:55
483 查看
1、类
Java写程序的实质就是定义一个有一个的类,
类是Java程序中的基本要素,是一类对象的原型,他封装了一类对象的状态和方法:
~~将变量和函数封装在一个类中。
eg:class Person{
int n=10;
String name="fdh";
void sayHello() {
System.out.println("hello world!");
}
}
这个类中封装的是这个人中所包含的属性,字段是类的属性,是用变量表示。
~~字段(field)又称为域、域变量、属性、成员变量等。
~~方法是类的功能和操作,是用函数表示的。
方法中有个特殊的方法是构造方法,主要用于初始化(new)该类的一个新的对象,构造方法与类同名,而且不写返回数据类型。一般情况下,一个类中有一个或多个构造方法,如果没有定义构造方法,那么系统会自定义一个构造方法,称为默认构造方法。默认构造方法不带参数,并且方法体为空。
因为Java中没有指针,就用.运算,Person n=new Person();P.name;
方法重载就是定义多个函数名相同,但传入的参数不同,就是方法重载。通过方法重载就可以实现多态。
继承就是进行保留原有的父类的传承,在新的定义一些新的东西。一个类只能有一个直接父类,但可以有多个间接地父类。父类包括直接父类或间接父类。
子类继承父类状态和行为:
可以修改父类的状态或重载父类的行为
可以添加新的状态和行为。
好处:可以提高代码的抽象程度
实现代码的重用,提高开发效率和代码的可利用性。
Java的继承类用的关键字是extends实现的,
eg :class Studnt extends Person{
}如果没有extends子句的话,则该类就默认为java.lang.Object的子类,所有的类都是通过直接或间接地继承java.lang.Object得到的。
继承关系在UML图中,使用一个箭头来表示子类和父类的关系的。相当于is a
对于父类中的方法,子类直接继承;对于方法的覆盖就是子类可以重新定义与父类同名的方法实现对父类方法的覆盖;对于方法的添加,只是对于新定义一个方法;方法的重载,一个类可以有几个同名的方法,这个称谓方法的重载(Overload),同时还可以重载父类的同名方法。与方法覆盖不同的是,重载不要求参数类型列表相同。重载的方法实际是新加的方法。
Java写程序的实质就是定义一个有一个的类,
类是Java程序中的基本要素,是一类对象的原型,他封装了一类对象的状态和方法:
~~将变量和函数封装在一个类中。
eg:class Person{
int n=10;
String name="fdh";
void sayHello() {
System.out.println("hello world!");
}
}
这个类中封装的是这个人中所包含的属性,字段是类的属性,是用变量表示。
~~字段(field)又称为域、域变量、属性、成员变量等。
~~方法是类的功能和操作,是用函数表示的。
方法中有个特殊的方法是构造方法,主要用于初始化(new)该类的一个新的对象,构造方法与类同名,而且不写返回数据类型。一般情况下,一个类中有一个或多个构造方法,如果没有定义构造方法,那么系统会自定义一个构造方法,称为默认构造方法。默认构造方法不带参数,并且方法体为空。
因为Java中没有指针,就用.运算,Person n=new Person();P.name;
方法重载就是定义多个函数名相同,但传入的参数不同,就是方法重载。通过方法重载就可以实现多态。
继承就是进行保留原有的父类的传承,在新的定义一些新的东西。一个类只能有一个直接父类,但可以有多个间接地父类。父类包括直接父类或间接父类。
子类继承父类状态和行为:
可以修改父类的状态或重载父类的行为
可以添加新的状态和行为。
好处:可以提高代码的抽象程度
实现代码的重用,提高开发效率和代码的可利用性。
Java的继承类用的关键字是extends实现的,
eg :class Studnt extends Person{
}如果没有extends子句的话,则该类就默认为java.lang.Object的子类,所有的类都是通过直接或间接地继承java.lang.Object得到的。
继承关系在UML图中,使用一个箭头来表示子类和父类的关系的。相当于is a
对于父类中的方法,子类直接继承;对于方法的覆盖就是子类可以重新定义与父类同名的方法实现对父类方法的覆盖;对于方法的添加,只是对于新定义一个方法;方法的重载,一个类可以有几个同名的方法,这个称谓方法的重载(Overload),同时还可以重载父类的同名方法。与方法覆盖不同的是,重载不要求参数类型列表相同。重载的方法实际是新加的方法。
相关文章推荐
- java 面向对象(类,属性 ,方法,包,封装、继承、多态)
- Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)
- java中静态属性和和静态方法的继承问题 以及多态的实质
- java中静态属性和和静态方法的继承问题 以及多态的实质
- java中静态属性和和静态方法的继承问题以及多态的实质
- Python面向对象,类,继承,多态及鸭子类型,获取类的类型,方法和属性(类似java的反射)
- JAVA——(2)OOP面向对象、封装、继承、多态、this、构造方法
- java中静态属性和和静态方法的继承问题 以及多态的实质
- java中静态属性和和静态方法的继承问题 以及多态的实质
- java--类与对象、构造方法、this、类变量(静态)、类方法、抽象、封装、继承、多态的回顾
- Java类、属性、方法、对象、继承、多态、接口、抽象类...
- java继承 父类子类方法调用问题 属性和静态方法是没有多态的
- 类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字
- Java程序员从笨鸟到菜鸟之(三)面向对象之封装,继承,多态(下)
- Ajax - JavaScript之实现私有属性、像C++和Java一样支持基于类的继承方法之例子
- JAVA菜鸟(三)面向对象之封装,继承,多态(下)
- Java——封装、继承、多态
- Java程序员从笨鸟到菜鸟之(二)面向对象之封装,继承,多态(上)
- 黑马程序员---java面向对象 封装, 继承, 多态
- JAVA菜鸟(二)面向对象之封装,继承,多态