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
  • 相关阅读:
    对ArcGis Engine的增、删、改实现
    修改 ArcGis Engine 图层字段值
    获取DataTable 删除行的数据
    使用Kdiff3 来解决Git的文件冲突
    WordPress 用Windows Live Write写日志
    在GIT 中增加忽略文件夹与文件
    解决WinDbg下不能用 !ClrStack a
    DevExpress 实现下拉复选控件
    解决远程桌面连接后没有声音的问题
    读书
  • 原文地址:https://www.cnblogs.com/GranceWang2014/p/4627712.html
Copyright © 2011-2022 走看看