面相对象基础

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43498110/article/details/99470311
1.方法的重写:
1)发生在父子类中,方法名相同参数列表相同,为方法的重写。
2)重写的方法被调用的时候看对象的类型。
注意事项:
重写需要遵循“两同,两小,一大的原则”
1)两同:方法名称相同,参数列表相同
2)两小:基本数据类型的方法的返回值必须相同。引用数据类型可以小于或者等于父类的数据类型。

;子类方法中抛出的异常小于或者等于父类---------异常
3)一大:
1)子类方法的访问权限大于或者等于父类。
2.重写和重载的区别:
重载:一个类中方法名相同,参数列表不相同。遵循编译期绑定。
重写:不同的类中,方法的签名相同。运行期绑定。
重载根据参数的类型进行绑定,重写根据对象的类型进行绑定。
3.package和import:
package:
1)同一个包中的类不能同名(package)
2)包名:域名反写.项目名称.模块名称.类名(建议)
imprort:
1)作用:声明类/引用类
2)同包中的类可以直接使用。不同的包不能直接访问。如果想访问:1.先import声明一个类,在访问类。Import 包名.类名(*)
4.访问控制修饰符:
1)类的设计中:数据私有化(private:修饰的成员变量和方法只能在本类中调用),行为公开化(public:修饰的成员变量和方法在任何地方都可以使用)。
protected:修饰的成员变量和方法可以被子类及同一个包中的类使用。
默认修饰符:当什么也不写的时候,可以在本类中和同一个包中的类使用。
类的访问修饰只能用public和默认的。
类成员的修饰可以使用任何的修饰符。
protected和private可以用于修饰内部类

5.static:静态的
成员变量:
1.实例变量:属于对象,存在堆中;有几个变量就有几个对象;;2.静态变量:属于类,存在方法区中,只用一份,常常通过类名.来访问。
1)静态变量:由static来修饰,属于类,存在方法区中,只有一份,常常通过类名(或者对象名).来访问;静态变量何时使用:若所有对象的数据都一样的时候使用
2)静态方法:
2.1)有static修饰
2.2)属于类
2.3)常常通过类名.来访问
2.4)没有隐式的this传递
2.5)静态的方法只能访问静态的成员变量。
2.6)静态的不能访问非静态的。
2.7)何时用:方法的操作仅与参数相关而与对象无关。不能访问实例成员
3)静态块:
1)由static修饰。
2)属于类,类被加载期间自动执行,类只能被加载一次,所以静态块只执行一次。
3)何时用:常常用于加载静态资源《图片,音频,视频》




6.final:
1)修饰变量:不能被改变
可以修饰成员变量,也可以修饰局部变量。
2)修饰方法:不能不重写
3)修饰类:不能被继承
Static final 常量(相当于C语言里面的宏定义,在程序编译的时候进行代码的替换):修饰的成员变量称为变量,必须声明同时初始化,不可被改变。Static final 常量会在编译期被替换。

猜你喜欢

转载自blog.csdn.net/qq_43498110/article/details/99470311
今日推荐