java面向对象基础

一,堆,栈,方法区的理解

 * 了解堆栈方法区基础
 * java是先编译,后执行,编译成字节码形式
 *  类(.class)加载到方法区 ---如本例中的MyOOD.class Point.class
 *  局部变量p1,p2,在栈中分配
 *  对象Point在堆中创建,对象按照属性分配空间

 *  p1,p2指向堆中对应的对象的地址

 * static修饰词修饰的类,方法,变量也是放在方法区

java面向对象基础java面向对象基础


二. public  private  默认 protected  的作用域

* Public > protected(继承类时可以获取到)>默认>private

java面向对象基础

二.重载与重写

*重载:
*同一个类中,方法名相同
*参数的个数,类型不同,
*返类型也可以不同
*重写:
*子类继承父类的方法
*方法名和参数类型参数数量等都和父类的方法相同
*方法的逻辑代码,实现方法不同
*子类的重写方法被调用时,运行的是重写后的方法
*如果要调用父类的方法,可以用super关键字调用

四. 抽象类与接口

*抽象类(Abstract)----抽象类,用于表示抽象的概念,主要是用于继承 extends
*特性:
*类的修饰词为abstract
*包含抽象方法的类一定是抽象类 ,但是抽象类可以没有抽象方法
*抽象类可以定义变量,但是不能直接实例化,只能被继承
*具体理在继承抽象类是必须实现全部的抽象方法
*抽象类可以继承抽象类
*一个类只能继承一个父类
*
*接口(interface)----可以理解一种特殊的抽象类,主要是用于给实例对象进行接口的实现
*特性:
*修饰词为interface
*接口中只能声明抽象方法和常量
*接口不能被实例化,只能被实现
*具体类实现接口,必须实现全部的抽象方法
*一个类可以实现多个接口
*接口可以继承接口


五.static关键字

*静态变量在类加载期间初始化,存在方法区中
*全体对象共享的一份变量
*经常使用类名访问静态变量(类名.方法名 即调用静态方法)


六.final关键字

*final关键字
*final类,不可继承
*final方法,不可重写
*final变量,值不可变,常量

七.this关键字

*this关键字在java中指的的是当前这个对象