6.1 类与对象的概念

6.2 定义类 

 class Cylinder {
     double radius;
     int height;
     double pi;

     void setCylinder(double r, int h, double pi) {
         radius = r;
         height = h;
         this.pi = pi;
     }

     double getArea() {
         System.out.println("mian ji =" + pi * radius * radius);
         return pi * radius * radius;
     }

     double volume() {
         return getArea() * height;
     }
 }

定义圆柱体类

  类的修饰符:public, abstract, final, 缺省 。另外,成员变量和成员方法各有自己的修饰符。

  成员变量与局部变量的区别:①二者含义 ②可被什么修饰 ③存储方式 ④生存周期 ⑤没被赋初值

6.3 对象的创建与使用

  将类理解成新的数据类型,将对象理解成新的变量。

  Cylinder volu = new Cylinder();  //volu是对象的名字,即引用变量,存在于栈内存,它指向对象;new Cylinder()是对象实体,存在于堆内存。  

 package passParameter;

 public class Example6_4_1 {

     public static void main(String[] args) {
         // TODO Auto-generated method stub
         Cylinder YuanZhu = new Cylinder();
         YuanZhu.setCylinder(8, 10, 3);
         System.out.println("体积=" + YuanZhu.volume());
     }

 }

 class Cylinder {
     double radius;
     int height;
     double pi;

     void setCylinder(double r, int h, double pi) {
         radius = r;
         height = h;
         this.pi = pi;
     }

     double getArea() {
         System.out.println("mian ji =" + pi * radius * radius);
         return pi * radius * radius;
     }

     double volume() {
         return getArea() * height;
     }
 }

圆柱体类,赋值使用对象

6.4 参数的传递

  当参数是基本数据类型时,是传值方式调用;当参数是引用型变量时,是传址方式(其实传递的是引用变量的值,只不过该值是对象/数组的首地址)。

  举例:传递值或返回类型为数组

 package passParameter;

 //矩阵转置
 public class Example6_6 {

     public static void main(String[] args) {
         // TODO Auto-generated method stub
         int[][] juzhen = { { 1, 2, 3 }, { 4, 5, 6 } };
         Trans my = new Trans();
         int[][] transhou = my.transw(juzhen);
         for (int k = 0; k < transhou.length; k++) {
             for (int j = 0; j < transhou[k].length; j++) {
                 System.out.print(transhou[k][j] + " ");
             }
             System.out.println();
         }

     }

 }

 class Trans {

     int[][] transw(int[][] array) {
         int i, j;
         int[][] b = new int[array[0].length][array.length];
         for (i = 0; i < array.length; i++) {
             for (j = 0; j < array[i].length; j++) {
                 b[j][i] = array[i][j];
             }
         }
         return b;
     }
 }

矩阵转置

6.5 匿名对象

  用new创建一个对象后,不定义其引用变量,而直接调用这个对象的方法。

  例:new Cylinder().setCylinder(6, 5, 3.14);

2015-10-03

最新文章

  1. python 反射器
  2. 汇编中bss,data,text,rodata,heap,stack,意义
  3. (六)6.5 Neurons Networks Implements of Sparse Autoencoder
  4. How to Avoid Producing Legacy Code at the Speed of Typing
  5. oracle 配置监听
  6. Uva 11694 Gokigen Naname
  7. android键盘锁定问题
  8. ABP日志管理
  9. Erlang标准数据结构的选择
  10. 排序系列 之 快速排序算法 —— Java实现
  11. google搜索引擎爬虫爬网站原理
  12. 解决安装fiddler后IE打开网页提示“代理服务器无响应”
  13. 20175329 2018-2019-3《Java程序设计》第五周学习总结
  14. 学习基础和C语言基础调查
  15. linux笔记_day05
  16. 集成xxl-job分布式任务调度平台
  17. springJdbc in 查询,Spring namedParameterJdbcTemplate in查询
  18. jQuery的attr()与prop()的区别
  19. C#中Array类
  20. 【Mac】解决「无法将 chromedriver 移动到 /usr/bin 目录下」问题

热门文章

  1. 在WPF的DataGrid中对行添加单击事件
  2. 【转载】如何升级linux上的gcc到最新版本
  3. 一起talk C栗子吧(第一百二十七回:C语言实例--查看main函数的參数)
  4. 一次显式GC导致的High CPU问题处理过程(转)
  5. memcache的内存管理机制
  6. C#中引用类型和值类型分别有哪些
  7. win10下Import caffe时出现“ImportError: No module named google.protobuf.internal”的解决办法
  8. SVN上新增一个项目和用户
  9. @Override must override a superclass method 有关问题解决
  10. DTD的学习和理解