zoukankan      html  css  js  c++  java
  • java面向对象开始一

      java语言的三大特性:平台无关性、安全性、网络移动性。

      面向对象的特性:封装、继承、多态、抽象

      (当然,抽象这个特性是编程的基础,编程的基础就是对现实事物的抽象)

      声明对象、实例化对象

      类名  对象名称 =null;//声明对象

      对象名称 = new 类名();//实例化对象

      类名 对象名称 = new 类名();

    注意:在类声明的时候只是在内存栈中生成了一个名字而已,其实可以认为是不占内存的。所以当调用里面的东西的时候,常常报空指针错误,因为他不指向任何内存!

    new了之后才会在内存堆里面有了对象的一席之地,这时候才真正拥有了类里面的东西,也就是这个对象真实的存在了。

      匿名对象:

      指的是没有栈空间的对象,既没有给出明确名字的对象。因此,匿名对象使用的是对内存,通过关键字new进行开辟,因为没有对应的栈内存空间引用,所以对象只能使用一次

      构造函数

      只有调用new关键字实例化对象时,才会调用构造函数。构造方法的访问修饰符与其所在类的访问修饰符一致。

      注意,在一个类中如果我们显示的声明了一个构造函数,那么程序在编译时就不会再生成默认的构造函数了。所以在定义类的时候,若要显示的写出有参构造函数,最好也要写上午餐构造函数。

      java中构造方法不能直接调用构造方法,如果需要在构造方法中调用另一个构造方法,可以使用this关键字(后面讲解)。

      创建对象的根本途径就是使用构造器,通过调用类的某个构造器来构造需要的类的实例,也即是对象。

      类是一种引用数据类型,如Person p = new Person();  变量p实际上是一个引用,被存放到栈内存中,指向实际的Person对象;而真正的Person对象存放在堆内存中。引用型变量仅仅是指向了堆内存的对象。

      当一个对象创建成功后,此对象就保存在堆内存中,Java不允许直接访问该对象,只能通过该对象的引用操作该对象。

  • 相关阅读:
    [Vim].vimrc
    [笔试面试][code_by_hand]压缩字符串
    [笔试面试][code_by_hand]输出第二个字符串在第一个字符串中的连接次序
    [笔试面试]串s1="ABCDACDAE" s2="DAE" 找出s1中,包含s2的最小子串,要求该子串含有s2中的所有字符,串内字符无顺序关系
    [笔试面试][code_by_hand]从二元树中找出和为某一值的所有路径
    DEV 皮肤的使用
    Dev GridControl使用小结
    [转载]DEV控件:gridControl常用属性设置
    C#网页 自动登录 提交POST信息 方法
    比较字符串NSString
  • 原文地址:https://www.cnblogs.com/2589-spark/p/3446657.html
Copyright © 2011-2022 走看看