java是根据面向对象编程,因此有类和对象的概念,类分为普通类与抽象类。

一。定义类 

 类由N个 构造器  成员变量  方法组成,可以不定义,也可以根据语法定义N个。

  [修饰符] class 类名{

  构造器*N个

  成员变量*N个

  方法*N个

  }

  1.类的修饰符只能是public final abstract 三种之一,或者不修饰 ,类名一般大写开头,驼峰命名

  (一)。成员变量的定义

      [修饰符] 数据类型  变量名 ;

      [修饰符] 数据类型  变量名  = 默认值;

      1.修饰符:  可以不写(默认) 但是只用public private protected 之一修饰 或者 组合 static final 之一 共同经行修饰

  (二)。方法的定义

      [修饰符]  返回类型  方法名( 形参列表 ){

        //执行代码,方法体

      }

      1.修饰符。可以不写(默认)  但是只用public private protected 之一修饰 或者 组合 abstract  final 之一 共同经行修饰 或者再加static 组合修饰

      抽象类的抽象方法不能使用static修饰

  (三)。构造器定义

      [修饰符] 类名 ( 形参列表 ){

      //构造器执行体  

      }

      1.修饰符 可以不写(默认)  但是只能用 public private protected之一修饰

  (四)。关于 static

      简单的说 static 修饰的方法 或者 成员变量  是属于这个类的,该类或该类下的对象都可以进行使用  ;

      static修饰符其实就是用来区别  方法或者变量是类的 还是对象的。(目前所学总结,可能有所变化)

二  对象,引用,指针

   1.java创建一个对象  如Object obj=new Object();

    这段代码实际上产生了2个东西  一个obj变量   一个Object对象

    而且把obj对象指向Object对象的内存地址

    如果再把这个Object'对象赋值给其他变量,java不是重新生成内存块,而是直接把Object的地址引向改变量

    所以无论把Object赋值给多少变量,都只会把地址引向变量。

    一个变量如果把Object的某个值改变,那么指向该对象的所有变量,使用时都会发生改变,因为都是指向同一个地址    

          

java定义类 对象,引用,指针的更多相关文章

  1. C++ 类对象和 指针的区别

    C++ 类对象和 指针的区别 C++ 类对象和 指针的区别 转自:http://blog.csdn.net/ym19860303/article/details/8557746 指针的情况 class ...

  2. android NDK 实用学习(三)- java端类对象的构造及使用

    1,读此文章前我假设你已经读过: android NDK 实用学习-获取java端类及其类变量 android NDK 实用学习-java端对象成员赋值和获取对象成员值 2,java端类对象的构造: ...

  3. java定义类

    package java04; /* * 定义一个类,用来模拟“学生”,其中包含量两个组合部分 * * 格式: * public class ClassName{ * //成员变量 * //成员方法 ...

  4. js 定义类对象

    //定义类     //方式一     function A_class(arg1,arg2){         this.arg1=arg1;         this.arg2=arg2;     ...

  5. C++中没有定义类的引用。

    在有时候由于类太大.须要在类在后面定义: 比如: class Y{ void f(X); }; class X{ //一些成员数据和函数 }; //error 由于c++要求不论什么一个变量在引用之前 ...

  6. <一>类,对象,this指针

    C++ 类:实体的抽象类型 实体(属性,行为) ->ADT(abstract data type) 类(属性->成员变量,行为->成员方法) OOP语言4大特征 抽象 封装/隐藏(通 ...

  7. 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用

    [源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象,  const 指针和指向 const 对象的指针, con ...

  8. C++:基类与派生类对象之间的赋值兼容关系

    4.5 基类与派生类对象之间的赋值兼容关系 在一定条件下,不同类型的数据之间可以进行类型转换,例如可以将整型数据赋给双精度型变量. 在赋值之前,先把整型数据转换为双精度型数据,然后再把它双精度型变量. ...

  9. c++类对象的内存分布

    要想知道c++类对象的内存布局, 可以有多种方式,比如: 1)输出成员变量的偏移, 通过offsetof宏来得到 2)通过调试器查看, 比如常用的VS 1.没有数据成员的对象 class A{ }; ...

随机推荐

  1. CTSC && APIO 总结

    先说CTSC吧,第一试其实不难但是下意识觉得CTSC不就只能骗分吗,然后就全上暴力了.然而第二题再一次看漏了条件,即答案总和小于等于1e6.第三题现在回想起来要不然就是没有思考,要不然就是没学过数学, ...

  2. hdu 1824

    也是一道2-sat的入门题: 不过题目描述的不清楚,看了别人的题解才知道题意: 和上面的那题差不多,一个模板: 代码: #include<cstdio> #include<stack ...

  3. cocos2dx 环境搭建 win7 +vs2012+ cocos2dx-2.1.4

    转自:http://my.eoe.cn/swer03160828/archive/20067.html 1) 如果在win32 下面编写的cocos2dx 的代码其文件 .cpp,.h 的文件,基本上 ...

  4. 中间人攻击之arp欺骗 科普ARP欺骗

    中间人攻击之arp欺骗 科普ARP欺骗 A <-> B A中有个ARP Table,每次发包都会在此Table中查找,若找不到,发APR Request包询问.此时若hacker冒充B的M ...

  5. 思考 Swift 中的 MirrorType 协议

    Swift中的反射非常有限,仅允许以只读方式访问元数据的类型子集.或许 Swift 因有严格的类型检验而不需要反射.编译时已知各种类型,便不再需要进行进一步检查或区分.然后大量的 Cocoa API ...

  6. MySQL partition分区I

    http://blog.csdn.net/binger819623/article/details/5280267 一.        分区的概念二.        为什么使用分区?(优点)三.    ...

  7. Linux中的随机数文件 /dev/random /dev/urandom

    Linux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random.他们产生随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特 ...

  8. perl 对象

    唯一标识: 很明显,一个%employee 是不够的,每个雇员都要求有一个唯一标识和他或她自己的属性集合. 你可以动态的分配这个数据结构,也可以返回一个指向局部数据结构的引用 Vsftp:/root/ ...

  9. POJ_1065_Wooden_Sticks_(动态规划,LIS+鸽笼原理)

    描述 http://poj.org/problem?id=1065 木棍有重量 w 和长度 l 两种属性,要使 l 和 w 同时单调不降,否则切割机器就要停一次,问最少停多少次(开始时停一次). Wo ...

  10. HDU-2975 Billboard

    Billboard Time Limit : 20000/8000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Su ...