没有写构造方法的话系统会提供默认无参构造方法
构造方法重载:
方法名相同
参数数据类型或参数个数不同
与返回值、 访问修饰符无关
注:只要构造方法重载,系统就不再提供默认无参构造方法
this关键字 是对一个对象 的默认引用,这里用以区分同名成员变量
构造方法重载的调用
static关键字
可以直接通过类名调用
用类名调用: Penguin.print();
static可以用来修饰属性、 方法和代码块
static修饰与非static修饰的区别
静态的方法不能去调用非静态的属性方法
静态的方法只能去调用静态方法
非静态的方法可以去调用静态的方法属性
public class User {
{
System.out.println("代码块");
}
static {
System.out.println("静态代码块");
}
void show(){
System.out.println("代码");
}
public static void main(String[] args) {
User user1=new User();
}
}
public class User {
{
System.out.println("代码块");
}
static {
System.out.println("静态代码块");
}
void show(){
System.out.println("代码");
}
public static void main(String[] args) {
User user1=new User();
User user2=new User();
User user3=new User();
}
}
为什么要使用封装:
面向对象三大特征之一 ——封装:
封装的概念:
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
封装的好处:
封装的步骤:
this关键字的用法:
调用构造方法必须写在构造方法中并且是构造方法中的第一条语句
总结: