zoukankan      html  css  js  c++  java
  • java构造函数修饰符

    今天看了剑指offer中的第二章-面试需要的基础知识,对其中的一段C#面试代码,比较感兴趣,想着能否给改成java,结果没改成,出现了问题,本文是针对这一点来总结一下,下面是C#与java代码,但是在eclipse环境下,java代码如此改写,编译器提醒构造函数有问题,究其原因,问题是由java的构造函数前的访问修饰符public与特殊修饰符static所导致的。

    java 构造函数,可以被访问修饰符修饰,而不能被特殊修饰符修饰;(在编译器经过测试)

    访问修饰符: public (最常用,其他类的任何位置都可以访问)                 

                      protected(能够在同一包中被子类访问)

                      什么都不写,""(能够被同一包里的类访问)

                      private(经常使用的单例模式中)

    特殊修饰符: static (静态) final(最终) abstract(抽象) synchronized(同步) 这些都不能够放在构造函数前使用                 

     1 class A{
     2      public A(String text){
     3           console.writeln(text);
     4      }
     5 }
     6 
     7 class B(){
     8      static A a1=new A("a1");
     9      A a2=new A("a2");
    10 
    11      static B(){
    12           a1=new A("a3");
    13      }
    14      
    15      public B(){
    16           a2=new A("a4");
    17      }
    18 }
    19 class Program{
    20      B b=new B();
    21 }
    View Code
     1 public class A {    
     2     public  A(String aStr){
     3         System.out.println("A 构造函数 初始化:"+aStr);
     4     }
     5 }
     6 
     7 class B {
     8     static A a = new A("a1");
     9     A aa = new A("a2");
    10 
    11     static B() {
    12         a = new A("a3");
    13     }
    14 
    15     public B() {
    16         aa = new A("a4");
    17     }
    18     public static void main(String[] args) {
    19         B b=new B();
    20     }
    21 }
    java View Code
  • 相关阅读:
    c_str()函数
    Linux创建用户
    Linux vim替换命令
    计算器表达式求值源码
    结构体、共用体。面试必用
    Ubuntu打开中文输入法
    Unable to establish SSL connection
    变量的命名和使用
    C++ ARX二次开发-MFC 非模态对话框modaless dialog
    C++ ARX二次开发-创建三维实体
  • 原文地址:https://www.cnblogs.com/GranceWang2014/p/4627712.html
Copyright © 2011-2022 走看看