java学习02(面向对象基础)
Posted cszshuzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
版权声明:本文为博主原创文章,转载请附上博文链接!
以上是关于java学习02(面向对象基础)的主要内容,如果未能解决你的问题,请参考以下文章