1.1.2Java基础——基础知识(2)

上一篇博文中我们简单介绍了类,方法,和属性,这些都是最最基础的东西,本期我们将继续学习一些基础知识

1、Java如何定义方法?

 (1)方法的格式

  [权限修饰符] [static] 返回类型 方法名(参数类型 参数属性名[,参数类型 参数属性名]){}

 (2)三种类型的方法:

  • 入口方法/主方法:运行类,它会主动运行
  • 普通方法:只有被显式调用时才会运行
  • 初始化方法/代码块:静态块、动态块与构造函数

  (3)方法命名 

   方法名,命名规则同类的定义,行业规定小写英文字母开头

 这里顺便提一个问题:是否可以从一个static方法内部发出对非static方法的调用?

  答案是:不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法在类首次的时候就,可以直接调用。也就是说,当一个static方法被调用时,动态对象还没被加载不存在,所以就不能被调用

 2.Java数据类型有什么? 

  1.基本数据类型——仅用于存储基本数据:有八种boolean、byte、short、int、long、char、float、double

  2.引用数据类型——除了可存储数据,还可提供方法

  这里重点了解基本数据类型

  从内存构建方面来说

  基本数据类型:变量在声明之后java就会立刻分配给他内存空间

  引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址

  这里举个例子,就是我们最常用的String

  首先问大家一个问题,

  String a = null;

  String a = "";

  上面两个定义有区别吗?有什么区别?

  每个引用数据类型都可以定义为null表示未初始化,这是基本类型不具备的特点,未初始化意味着什么呢?也就是没有在内存初始化,还不是一个实例对象,所以当你String为null的时候你调用它的一些方法你会发现程序报错。

  需要注意的时候,引用类型的数据给我们提供了很多方法,具体大家可以去查API,其中在做两个数据值的比较时,用的是equals这个方法,如果直接用“==”则是比较内存是否相同,另外

  当你定义

  String a = "a"; String b = "b";

  System.out.println(a==b);

  上面说了“==”比较的是地址,当这个时候你会发现,输出的还是true,那是因为Java里面的一个机制,当你定义两个相同的变量时,它没有开一个新的空间,除非你去new一个新对象。

  

  

  

 

posted @ 2017-04-10 13:40  csyace  阅读(147)  评论(0)    收藏  举报