呵呵
java编程是面向对象编程,对象是万物,生活中一切都是对象。
我们首先要声明一个类,比如人类,动物类,在类中,有成员变量(比如姓名,年龄)和成员方法(比如说话,吃饭,玩耍),声明一个类,但在进行操作时,我们是对个体进行,比如小明。所以要实例化对象,用到了关键字new:Animal ani=new Animal;其中实例化的对象ani具有类Animal的属性和方法。
成员变量的修饰符 public private protected 数据类型可以是所有的数据类型 如public int age =18;
成员方法的修饰符public abstract fanal default static private 返回值可以是int double等8中基本数据类型,也可以是引用数据类型(类,接口,数组),参数列表,就是行参。如:public void say(int a){}
一个方法包括了形式参数,他用于申明传递参数的数据类型。比如我们要调用上面的方法,传递的参数必须是int 类型的。
java中允许方法的重载,但必须是一个类中,方法重载就是同名但是参数的类型和数量,顺序不同 。
构造器是类中比较特殊的方法,这个方法在实例化对象时被调用。如Animal ani=new Animal就会调用到Animal类中的构造函数(构造方法)如
public class Animal{public Animal(){}} 或者是public class Animal{public Animal(int age){}}
构造函数名必须与类名相同 也不能声明返回值和在前面加void。
继承(extends)
面向对象编程中,类是可以继承的,但必须是单继承,一个子类只能有一个父类。父类叫超类或者基类,子类叫派生类,子类通过继承有了父类的属性和方法,同时自己也可以声明自己特有的属性和方法。在子类中可以重写父类的方法。
向上转型 Parent par=new Child(); 向下转型 Child child=(Child)new Parent();这种转型是想调用子类中有而父类中没有的方法。
静态方法只能继承,不能重写
多态
指允许类的不同对象(如小狗,小猫)对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)比如在我们调用动物类中的say方法时,不同的动物实例会有说出不同的语言。
实现多态的技术:运行期绑定(在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法),另外还有一种叫运行前绑定
多态的前提是继承和重写父类的方法。重写方法只能存在于具有继承关系中,重写方法只能重写父类非私有的方法
abstract(抽象的)的方法能被重写但是抽象类是不能new
static (静态的)
static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。因为static代码块只在类加载的时候执行一次。
有了static修饰的方法是不需要new对象就能直接访问的。
static只能修饰内部类
静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量
浙公网安备 33010602011771号