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

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

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

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

      声明对象、实例化对象

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

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

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

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

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

      匿名对象:

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

      构造函数

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

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

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

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

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

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

  • 相关阅读:
    HDU 4725 The Shortest Path in Nya Graph(优先队列+dijkstra)
    POJ 3216 Repairing Company(二分图匹配)
    POJ 3414 Pots(bfs打印路径)
    POJ 3278 Catch That Cow(bfs)
    poj 3009 curling2.0 (dfs)
    用“道”的思想解决费用流问题---取/不取皆是取 (有下界->有上界) / ACdreamoj 1171
    hdu2448 / 费用流 / harbin赛区c题
    大数类模板(+-*/%等等)
    hdu4619 / 最大独立集
    hdu4888 多校B 最大流以及最大流唯一判断+输出方案
  • 原文地址:https://www.cnblogs.com/2589-spark/p/3446657.html
Copyright © 2011-2022 走看看