活动地址: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注解可以校验重写是否正确,同时可读性好。
重写方法有哪些基本要求?
重写方法的名称和形参列表应该与被重写方法一致。
私有方法不能被重写。
子类重写父类方法时,访问权限必须大于或者等于父类被重写的方法的权限。