一个类的公有成员和私有成员有什么区别?
公有成员不仅可以被类自身访问,还可以被所有其他类访问
私有成员无法从该类的外部访问该类的内部成员,只能被该类自身访问和修改,也不能被其他类访问或者引用
什么是方法重载?什么是方法重写?
重载是指一个类内有多个相同名称的方法,这多个同名方法如果参数个数不同,或者是参数个数相同但是参数类型不同。则这些同名方法就有不同的功能。
重写:在子类中定义名称,参数个数,与类型均在父类中完全相同的方法,用以重写父类中同名方法的功能。
区别:
1>都要求方法名相同,都可以用于抽象方法和非抽象方法之间
2>重写要求参数列表必须一致,而重载要求参数列表必须不一致
3>重写要求返回类型必须一致,而重载对此不做限制
4>重写只能用于子类重写父类的方法,而重载用于同一个类的所有方法(包括从父类中继承而来的方法)
5>重写对方法的访问修饰符有特殊要求,而重载对此不做限制
6>父类的一个方法只能被同一个子类重写一次,而一个方法在所在的类中可以被重载多次
7>构造方法能被重载,但不能被重写
一个类的构造方法的作用什么?构造方法的特性是什么?
构造函数是为了创建对象而存在,并为对象属性初始化的特殊方法。
特性:
1>构造方法的名称必须和类名相同;
2>构造方法没有返回类型约定,可以有参数列表,只是为了创建对象而存在,并为对象属性初始化的特殊方法;
3>当我们创建一个类的时候,如果我们不手动添加构造方法,那么系统会自动为我们提供一个默认的不带参的构造方法; 如果我们手动添加了构造,则系统不会提供默认的构造了。
4>构造方法可以重载,通过调用不同的构造方法来表达对象的多种初始化行为。构造方法的重载是指定义多个形式参数列 表不同的构造方法。
静态变量和实例变量的区别?
静态变量是指用static关键字修饰的成员变量,他在类装载的时候就进行了初始化,并且永驻内存,可通过类名来访问,不需创建对象;实例变量是指没有用static关键字修饰的成员变量,它只有在类创建对象的时候才初始化,它只能在类创建对象后,通过对象才可以访问。
静态方法和实例方法的区别?
静态方法属于整个类的方法,所以静态方法可以被实例对象和类调用,实例方法属于某个具体对象的。必须先创建实例对象,然后通过实例对象调用实例方法。
在一个静态方法内可以调用一个非静态成员吗?为什么?
不可以。因为静态方法属于整个类的,所以他不能操纵某个对象的成员,所以静态方法只能访问静态变量和静态方法。
什么是静态化初始器?其作用是什么?他与构造方法的区别是什么?
静态化初始器是由关键字static修饰的一对{}括起来的语句组。
作用与足区别:
1.构造方法是对每个新建的对象进行初始化,而静态化初始器是对类自身进行初始化。
2.构造方法是在new运算符创建新对象时由系统自动调用,而这个是在它所属类加入内存时被系统调用执行的。
3.用new创造多少个对象就执行多少次构造方法,而这个只在他所属的类被加载进内存时执行一次。
4不同于构。造方法,这个不是方法,因而没有方法名,返回值,和参数。
最后写个学生类
package code_class;
public class define_class {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Student s1 = new Student();
s1.setName("张三");
s1.setAge(23);
System.out.println(s1.getName()+"..."+s1.getAge());
System.out.println("-----------------------------------");
Student s2 = new Student("里斯",24);
System.out.println(s2.getName()+"..."+s2.getAge());
}
}
class Student{
private String name; //私有属性 姓名 成员属性
private int age; //私有属性 年龄 成员属性
public Student() {} //空参构造
public Student(String name,int age) { //有参构造
this.name = name; //this的作用是为了区分成员变量和局部变量
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
---------------------
【转载,仅作分享,侵删】
作者:zhiguo98
来源:CSDN
原文:https://blog.csdn.net/yanzhiguo98/article/details/88423849
版权声明:本文为博主原创文章,转载请附上博文链接!
|
|