Java 构造函数
Java 构造函数 是一种非凡的类办法,用于在创建对象时初始化对象的属性。它与类名雷同,并且没有返回值类型。
构造函数的作用:
- 为对象的属性设置初始值
- 执行必要的初始化操作
- 提供创建对象的多种形式
构造函数的类型:
- 默认构造函数: 无参数的构造函数,如果用户没有明确定义构造函数,则 Java 编译器会主动创立一个默认构造函数。
- 带参数的构造函数: 能够为构造函数增加参数,以便在创建对象时传入初始值。
示例:
public class Main { int x; // 默认构造函数 public Main() { x = 5; } // 带参数的构造函数 public Main(int y) { x = y; } public static void main(String[] args) { Main myObj1 = new Main(); // 调用默认构造函数 System.out.println(myObj1.x); // 输入 5 Main myObj2 = new Main(10); // 调用带参数的构造函数 System.out.println(myObj2.x); // 输入 10 }}
构造函数的注意事项:
- 构造函数不能被重写。
- 构造函数不能被申明为 abstract 或 final。
- 构造函数能够抛出异样。
一些额定的阐明:
能够应用构造函数来执行对象的初始化操作,例如:
- 关上数据库连贯
- 加载配置文件
- 注册事件监听器
能够应用多个构造函数来提供创建对象的多种形式,例如:
- 应用默认值创建对象
- 应用参数创建对象
- 应用克隆创建对象
Java 修饰符
Java 修饰符 用于管制类、属性、办法和构造函数的拜访权限和行为。它们能够分为两组:
- 拜访修饰符:
- public: 意味着代码对所有类可拜访。
- private: 意味着代码只能在申明的类外部拜访。
- default: 意味着代码只能在同一包中拜访。
- protected: 意味着代码在同一包和子类中可拜访。
- 非拜访修饰符:
- final: 意味着类不能被继承,属性和办法不能被重写。
- static: 意味着属性和办法属于类,而不属于对象。
- abstract: 意味着类不能用于创建对象,办法没有主体,必须由子类提供。
- transient: 意味着在序列化蕴含它们的对象时,属性和办法将被跳过。
- synchronized: 意味着办法一次只能由一个线程拜访。
- volatile: 意味着属性的值不会在本地线程缓存,总是从“主内存”读取。
示例:
拜访修饰符:
// public类能够被任何类拜访public class Main { // private属性只能在 Main 类外部拜访 private int x = 10; // default办法只能在同一个包中拜访 void myMethod() { System.out.println("This is a default method."); } // protected办法能够在同一个包和子类中拜访 protected void myProtectedMethod() { System.out.println("This is a protected method."); } public static void main(String[] args) { Main myObj = new Main(); System.out.println(myObj.x); // 谬误,无法访问公有属性 myObj.myMethod(); // 能够拜访 default 办法 myObj.myProtectedMethod(); // 能够拜访 protected 办法 }}
非拜访修饰符:
public class Main { // final属性不能被批改 final int y = 20; // static办法能够在不创建对象的状况下拜访 static void myStaticMethod() { System.out.println("This is a static method."); } // abstract办法没有主体,必须由子类提供 abstract void myAbstractMethod(); public static void main(String[] args) { // y = 30; // 谬误,无奈批改 final 属性 myStaticMethod(); // 能够拜访 static 办法 // myAbstractMethod(); // 谬误,无奈间接调用形象办法 }}// 子类继承 Main 类并提供形象办法的主体class Child extends Main { @Override void myAbstractMethod() { System.out.println("This is the implementation of myAbstractMethod."); }}
一些额定的阐明:
- 能够应用多个修饰符来润饰类、属性、办法和构造函数。例如,
public final
示意类是公开的并且不能被继承。 - 修饰符是 Java 语言的重要组成部分,它们能够帮忙您控制代码的拜访权限和行为。
最初
为了不便其余设施和平台的小伙伴观看往期文章:
微信公众号搜寻:Let us Coding
,关注后即可获取最新文章推送
看完如果感觉有帮忙,欢送 点赞、珍藏、关注