栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【无标题】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【无标题】

三种权限:

文章目录
    • 三种权限:
    • 默认加上的代码 :
    • 方法的重载(overload):
    • 重写(覆盖)@Override :toString()
    • 多态:
    • 多态存在的三个必要条件:
    • 抽象类
    • 接口interface
    • 静态属性、静态方法:

1、private:只在当前类里面可以访问(子类也不能访问)
2、public:任何地方都可以访问
3、protected: 包内可以访问
提高代码复用性。
将所有子类共有的属性和方法抽取到父类里面,子类继承父类,那么父类里面的属性和方法相当于子类里面也有。

默认加上的代码 :

1、无参构造方法
2、一个类不继承任何类默认继承extnds object
3、类的构造方法第一句会默认加上super

方法的重载(overload):

在同一个类里面,允许存在一个以上同名方法,只要他们参数类型和参数个数不同即可。
方法重载特点:与返回值无关,只看参数列表。
即(int x,int b)与(int x,double b)为重载。不看返回值的类型,所以
void show(int a, char b, double c){}与double show(int x, char y, double z){} 不是重载

重写(覆盖)@Override :toString()

1、子类覆盖父类,必须保证子类权限大于父类权限才可以覆盖,否则会编译失败。
2、如果父类是private的方法,子类是默认方法,那么子类是不知道这个方法的,不是覆盖。

重载(Overload):同一个类中看同名方法的参数列表。(构造方法重载)
重写(Override):父子类方法要一模一样

多态:

多态存在的三个必要条件:

1、继承 2、重写 3、父类引用指向子类对象

声明shape变量,new创建对象,调用构造方法Circle进行初始化对象

抽象类

1、抽象方法是没有方法体,如果这个类里面有抽象方法,这个类必须变成抽象类。
2、如果这个类是抽象类,并不要求这个类一定要有抽象方法
3、抽象类里面可以有普通方法,也可以有抽象方法。
4、如果一个类是抽象类,那么这个类就不能被new实例化,只能被其他类继承。
5、抽象方法可以理解为父类(抽象类)定义的一个模板或者规范(自己本身不实现),
子类必须实现这个抽象方法,如果子类不想实现这个方法,那么这个子类也必须要变成抽象类。…

接口interface

接口是一个纯粹的抽象类,所有方法都是抽象方法,不提供实现,所有功能由实现接口的子类去实现
接口就是一个规范,可插拔(可以被替换,首先定义一个标准(接口),大家都遵守这个标准,就可以实现互相之间替换)
接口中的方法都是抽象方法 public abstract
接口中所有的属性public static final定义
final:最终的意思
final变量:这个变量就不能被修改,常量 , 接口里面: public static final double PI = 3.1415;
final类:这个类就不能被继承
final方法:这个方法就不能被重写

public void test1() {
DaYan daYan = new DaYan();
daYan.egg();
daYan.fly();
daYan.print();

// bird是站在AbstractBird这个类角度去看new出来的DaYan这个对象,
// 所以只能看到egg()这个方法
AbstractBird bird = new DaYan();
bird.egg();
// bird.fly();
// bird.print();

// 站在能不能飞IFly的角度去看DaYan,只能看到fly()这个方法
IFly fly = new DaYan();
fly.fly();
//fly.egg();
//fly.print();
fly = new GeZi();
fly.fly();
}

静态属性、静态方法:

小区里面业主的房子可以看成一个一个的对象,这些都是属于特定的业主所独有。
但是小区里面也有一些公共设施(健身器材、绿地),这些公共设施是属于这个小区的。
但是是可以被所有的业主对象所使用的。

java类里面定义的静态变量和静态方法是属于这个类的,不属于new出来的Student对象,但是可以被所有的对象所使用,当类加载到内存,静态属性和静态方法就可以调用,这个时候没有new任何对象。
使用时候:
1、静态的方法只能访问静态的方法和静态的属性(因为当前对象的实例可以没有创建,
所以静态的方法是没办法调用非静态的方法和属性的)
2、静态的方法中不能写this、super关键字(因为当前的对象实例可能还没有创建,
代表当前类对象的this还有代表父类对象的super可能都还没有创建)

非静态的属性和方法(实例属性和方法)必须通过new对象访问,而静态的属性和方法
是属于类的,在类加载到内存中就可以访问,被所有对象所共享。

PS:
this.id = id; this.id当前类的id,id方法中的id
this()当前类构造方法
super:父类对象
super ():父类构造方法

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015474.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号