面向对象进阶--static关键字及应用,继承的概念知识点

本文详细介绍了Java中的static关键字,包括静态成员变量和静态方法的定义、使用场景及内存原理。static变量用于类级别的共享,而静态方法属于类而非对象。在静态方法中无法访问非静态成员。此外,文章还探讨了继承的概念,以及方法重写的基本要求。通过理解这些概念,可以更好地优化代码结构和提高代码复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

活动地址:CSDN21天学习挑战赛

static是什么

​static是静态的意思,可以用来修饰成员变量、成员方法。 static修饰成员变量之后称为静态成员变量(类变量),修饰方法之后称为静态方法(类方法)。 static修饰后的成员变量,可以被类的所有对象共享(访问、修改)。
static修饰的成员变量是什么? 有什么特点?
静态成员变量(有static修饰,属于类、加载一次,内存中只有一份),访问格式
实例成员变量(无static修饰,属于对象),访问格式:
两种成员变量各自在什么情况下定义?
静态成员变量:表示在线人数等需要被类的所有对象共享的信息时。
实例成员变量:属于每个对象,且每个对象的该信息不同时(如:name,age,money…)

static修饰的成员变方法的基本用法:

成员方法的分类:
静态成员方法(有static修饰,归属于类),建议用类名访问,也可以用对象访问。
实例成员方法(无static修饰,归属于对象),只能用对象触发访问。
使用场景:
表示对象自己的行为的,且方法中需要访问实例成员的,则该方法必须申明成实例方法。
如果该方法是以执行一个共用功能为目的,则可以申明成静态方法。

成员方法的分类和访问分别是什么样的?
 静态成员方法(有static修饰,属于类和对象共享)访问格式:
类名.静态成员方法。
对象.静态成员方法。(不推荐)
实例成员方法(无static修饰,属于对象)的访问格式:
对象.实例成员方法。
每种成员方法的使用场景是怎么样的?
 表示对象自己的行为的,且方法中需要直接访问实例成员,则该方法必须申明成实例方法。
 如果该方法是以执行一个通用功能为目的,或者需要方便访问,则可以申明成静态方法

static修饰成员方法的内存原理

 

 static访问注意事项:
静态方法只能访问静态的成员,不可以直接访问实例成员。
实例方法可以访问静态的成员,也可以访问实例成员。
静态方法中是不可以出现this关键字的。 

代码块是类的5大成分之一(成员变量、构造器,方法,代码块(静态代码块、构造代码块​​​​​​​),内部类)

静态代码块的作用是什么?
如果要在启动系统时对静态资源进行初始化,则建议使用静态代码块完成数据的初始化操作。

Java的特性之一继承(提高了代码的复用)

Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立起父子关系。

Student称为子类(派生类),People称为父类(基类 或超类)。
作用:当子类继承父类后,就可以直接使用父类公共的属性和方法了

如:父类是People 子类可以是 Teacher 也可以是Student;

public class Student extends People {}

 什么是继承? 继承的好处是啥?
继承就是java允许我们用extends关键字,让一个类和另一个类建立起一种父子关系。
提高代码复用性,减少代码冗余,增强类的功能扩展性。
继承的格式
子类 extends父类
继承后子类的特点?
子类 继承父类,子类可以得到父类的属性和行为,子类可以使用。
Java中子类更强大

继承设计规范:
子类们相同特征(共性属性,共性方法)放在父类中定义,子类独有的的属性和行为应该定义在子类自己里面。

继承的特点:
子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。
Java是单继承模式:一个类只能继承一个直接父类。
Java不支持多继承、但是支持多层继承。
Java中所有的类都是Object类的子类。

1、子类是否可以继承父类的构造器?
不可以的,子类有自己的构造器,父类构造器用于初始化父类对象。

2、子类是否可以继承父类的私有成员?
可以的,只是不能直接访问。

方法重写是什么样的?
子类写一个与父类申明一样的方法覆盖父类的方法。
方法重写建议加上哪个注解,有什么好处?
@Override注解可以校验重写是否正确,同时可读性好。
重写方法有哪些基本要求?
重写方法的名称和形参列表应该与被重写方法一致。
私有方法不能被重写。
子类重写父类方法时,访问权限必须大于或者等于父类被重写的方法的权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值