一切皆是对象

JAVA学习网 2017-12-23 08:41:02

从入行以来,总是去看其他人的博客,很少自己来总结,

原因有二:

一是因为自己的语文水平实在有限,无法很有效的组织语言。

二是技术无法达到写出博文的水平。

为此特意用博客记录我学习的点滴,提高自己的技术水平。

如果能够帮助到其他人当然也是极好的。

万事万物皆对象,这是我从学习java时候经常听到的话,特此我参考thinking in java这本书来开始我的第一篇技术博文

我们在日常开发中经常会创建对象

如:String str=new String("abc");

str:是String对象的引用。它存放在堆栈中,指向堆中的对象

new String("abc"):是实体对象,他存在放在堆中,另外abc完成了对对象的赋值

简单的例子,我们引出来3个知识点:

①:引用

②:对象的创建

③:对象的保存地址

1:对象的创建

使用new关键字,java中有一些不使用new来创建对象的数据类型:

基本数据类型:boolean < byte < char < short < int < long < float < double  

包装(wrapper)类型:Boolean Byte Character Short Integer Long Float Double  特殊包装类型(没有对应的基本类型):BigInteger,BigDecimal

BigInteger:支持任意精度的整数

BigDecimal:支持任意精度的定点数字

基本数据类型存放在堆栈中,高效存取。

2:对象的作用域

 

类:class关键字定义类的类型

成员变量(属性):

基本数据类型,默认值初始化值

boolean  false

char     null

byte    0

short     0

int       0

long      0L

float     0.0f

double   0.0d

局部变量:需要设置初始化值,否则会得到一条编译期错误

成员方法(方法):

基本形式:

1 class Model{
2   public int method(int arg){
3    return arg*2;          
4  }  
5 }

 static关键字:

使用static关键字修饰的变量和方法,与类的对象没有任何关系,不需要使用new关键字来创建对象,因此也无法访问类对象中的其他非static修饰的变量和方法

 举例:

public class StaticTest{
   static int i=10;

  public static void main(String[] args){
    //创建俩个对象
    StaticTest st1=new StaticTest();
    StaticTest st2=new StaticTest();
    //无论是st1.i 还是st2.i 值都是10,因为它们引用的是同样的内存区域
    int a=st1.i;
    int b=st2.i;
    int c=StaticTest.i;//使用类名引用静态变量
    StaticFun fun=new StaticFun();
    fun.incr();  //与下面等价,优先使用类名引用
    StaticFun.incr();
  }
}

class StaticFun{
  static void incr(){//静态方法
    StaticTest.i++;
  }
}

接下来我们来分析一下,最常用的main方法,看下面一个例子

 1 public class Property {
 2    public static void main(String[] args){
 3      //System:java.lang.System,out是static PrintStream对象,print是方法,"打印一句话"是方法的参数
 4         System.out.print("打印一句话");       
 5    }
6 }

 

时间过得好快,一眨眼的功夫一上午就过去了,-。-虽然只有俩个小时,通过这一章我们学到了类,变量,方法,static。接下来一章跟着thinking in java 我们学习java运算符。

阅读(729) 评论(0)