java学习02(面向对象基础)

1.对象可以简单认识成一个内存块,一个区域。

2.内存分为:栈内存,堆内存,方法区(堆的一部分,包括类的信息,静态方法,静态变量,字符串常量),这点对理解很多东西都很有用

3.包先简单理解成一个文件夹(域名倒着写)

4.面向对象:

继承:

类只能单继承,接口才可以多继承

子类构造函数调用前默认会调用super(),调用父类的构造函数

子类重写父类的方法遵循的原则:

    方法名,参数列表要相同
    返回值类型与申明异常类型,子类要小于父类
    访问权限子类大于等于父类

封装:

原则:高内聚,低耦合(内部多复杂,外部使用很简单方便)   
    访问修饰符:default    protect    public    private
    default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
    private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
    public : 对所有类可见。使用对象:类、接口、变量、方法
    protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

一些小原则:
    类的属性:private(别人想访问,给你set和get方法,方法里可以写业务逻辑,完成高内聚)
    方法还是public为主。

多态:
    1.方法的多态,不是属性的多态
    2.多态的三个必要条件:继承,方法重写,父类引用指向子类对象(这个需要好好理解)


 向上自动转型,向下强制转型

final变量经常和static关键字一起使用,作为常量。下面是final变量的例子:
public static final String LOAN = "loan";

final也可以声明方法。方法前面加上final关键字,代表这个方法不可以被子类的方法重写。

如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。

接口是比抽象类更抽象的东西,抽象类里还有一些具体实现,接口从不实现。
  接口可以理解成两个模块之间的通信标准,
  接口和实现类之间不是父子关系,而是实现规则的关系,例如我有一个run的接口,cat实现了,就能跑,train实现了也能跑
  体现了如果你是,你就一定能
  抽象类体现了你有什么,接口体现了你能干什么
  java中类只能单继承,接口可以多继承.

内部类:(开发时用的不多,面试前多看看)

数组拷贝
    System.arraycopy(a, 1, b, 1, 3); a数组从1下标开始,b从1开始接收,拷贝3个数据
    通过arraycopy实现自己拷贝自己从而删除一个元素,插入一个元素(明天自己实现下,删除与插入)
    强大又常用的两个数据类型:String array,内部都有很多方法
    array的tostirng

二维数组:每一个元素是数组,int[][] a=new int[3][]    为什么不指定第二个,是不确定的,未必是一样的,
    二维数组用的不多,后面一般用容器
    通过object二维数组可以存一个类似于表格的混合数据。
    有需要定义一组常量时定义枚举,但是用处不大其实
---------------------
作者:彩笔梳子
来源:CSDN
原文:https://blog.csdn.net/qq_29637191/article/details/83789561
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/CszShuzi/p/9916290.html
今日推荐