首页 > 编程语言 > 详细

Java基础相关总结

时间:2016-02-29 01:53:58      阅读:228      评论:0      收藏:0      [点我收藏+]

临近面试,权当复习了吧

  1. final相关
    • 定义常量的方法  eg:final int i=0;//则i不能被修改
    • final修饰的类不能被继承,因此没有子类,且它的类中的方法默认是final
    • final方法不能被子类覆盖,但可以被继承(父类不是final类,父类中的方法是final修饰的)
    • final不能用于修饰构造方法。

  2. static相关

    • static修饰的变量放在方法区,只有一份。地址不能改变,但内容可以改变。
    • 静态的成员变量,可以通过new一个对象访问,也可以通过类名访问,但一般建议用类名访问,又叫做类变量。(非静态成员变量只能通过new对象访问)

  3. 构造方法、重载、覆盖相关

    • 当自己写了构造方法之后,系统不会再提供无参的构造方法。
    • 重载是某一确定类中,方法名相同,但方法的参数类型和参数个数不同
    • 覆盖是子类重写父类的方法,其方法名、方法参数类型和参数个数都与父类方法相同。
    • 在一个两参的构造方法中可以调用一个一参的构造方法或者无参的构造方法。如下:
    • public class test_main extends father {
          public static void main(String[] args) {
              // TODO Auto-generated method stub    
              test_main test_main = new test_main(3,5);
          }
          public test_main(int i) {
              System.out.println("test_main.test_main()一参构造方法"+i);
          }
          public test_main(int i,int j){
              this(i);
              System.out.println("test_main.test_main()两参构造方法"+i+j);
          }
      }

       

    • 显示初始化:当父类没有提供默认构造函数时,子类必须在构造函数时通过super(...)。
    • public class father {
          public static int a=0;
      
      //    public father() {
      //        System.out.println("father.father()");
      //        // TODO Auto-generated constructor stub
      //    }
          public father(int i){
              System.out.println("father.father()"+i);
          }
          
      }
      public class test_main extends father {
          //static  final String a="ha";
          public static void main(String[] args) {
              // TODO Auto-generated method stub
              
              //test_main test_main = new test_main(3,5);
              //System.out.println("test_main.main()"+father.a);
              //father fat = new father();
              //System.out.println("test_main.main()"+fat.a);
              
              //a="hah";
              test_main test_main = new test_main(1);
          
          }
      
          public test_main(int i) {
              super(i);
              System.out.println("test_main.test_main()一参构造方法"+i);
          }
          public test_main(int i,int j){
              this(i);
              System.out.println("test_main.test_main()两参构造方法"+i+j);
          }
          

       

  4. 域的访问控制权限

    • public修饰的,无论是否在同一包中,都可以直接通过对象名访问
    • private只有在同一个类中访问
    • protected在本类、子类、同包的其他类都可以访问
    • 默认的是包访问控制权限,只对同一包中的类开放

  5,包的作用、类的重名问题

    • 不同的包下建立同名类,new对象时会自动导包,没有包名则无法导包。(不同的包下可以有同名类,同一包下不能有同名类)
    • 包的作用是,区分同命名的类,默认的安全机制
    • 任何一个类名都应该是包名+类名。 

  6,多态问题、

    • 多态的产生条件,要有继承关系,要有方法覆盖,父类的引用指向子类的对象。
    • 向上转型默认帮转,向下转型要强转(程序员已知该类是其子类的情况下转型的)           

Java基础相关总结

原文:http://www.cnblogs.com/yidijimao/p/5226178.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!