A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 907888614 中级黑马   /  2015-4-14 01:09  /  695 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class person1 {
  2.         private int age;
  3.         public void  setAge(int a){
  4.                 age=a;
  5.         }
  6.         public int getAge(){
  7.                 return age;
  8.         }
  9.         void speak(){
  10.                 System.out.println("age="+age);
  11.                
  12.         }
  13. }
  14. class person2{
  15.         public static void main(String[] agrs){
  16.                 person1 c=new person1();
  17.                 c.getAge(30);
  18.                 //c.setAge(20);
  19.                 c.speak();
  20.         }
  21. }       
复制代码
求朋友帮助:1.问题1代码c.getAge(30);报错,我按照毕老师视频照打还是错。求解答                     2.代码public int getAge(){}这是函数吗? 函数格式不是  修饰符+返回值类型+函数名(参数列表){ruturn   }。为什么这里没有static修饰?还                           是说这是两个类。括号内没有参数类型和参数变量。
谢谢大家了。


6 个回复

倒序浏览
1.问题1代码c.getAge(30);报错,我按照毕老师视频照打还是错。求解答
看看这个方法:
public int getAge(){
               return age;
  }
是一个空参的返回值类型是int的函数,你在调用的时候却给它赋了一个int型的30,当然会报错了。

2.代码public int getAge(){}这是函数吗? 函数格式不是  修饰符+返回值类型+函数名(参数列表){ruturn   }。为什么这里没有static修饰?还是说这是两个类。括号内没有参数类型和参数变量。

public int getAge(){}是函数啊,也叫方法。
这个函数里的public 就是修饰符啊,int就是返回值类型,getAge就是函数名,没有参数的,返回值是int型。之所以没有用static 修饰,是因为属性age没有被static修饰。
相信你明白了。
回复 使用道具 举报
楼上已经回答的很清楚了,建议楼主学习一下堆、栈内存的区别,static关键字主要用于分配堆内存空间,用于全局。
回复 使用道具 举报
getAge();方法因为括号中没有参数列表,空参方法,不用传递参数。
而且你读出这个英文意思是   getAge();  得到年龄     setAge(20);这个才是设置年龄的方法
我建议你基础还是多巩固巩固吧,个人感觉基础不好的话进黑马容易跟不上课。
回复 使用道具 举报
set用于个头成员函数赋值  get用于获取成员属性   你不能在getAge上对其属性赋值   需要使用setAge
回复 使用道具 举报
静心明德 发表于 2015-4-14 01:34
1.问题1代码c.getAge(30);报错,我按照毕老师视频照打还是错。求解答
看看这个方法:
public int getAge() ...

后面那个要怎么改一下呢
回复 使用道具 举报
907888614 发表于 2015-4-14 14:31
后面那个要怎么改一下呢

如果想要用类名调用,就加static,Person1.getAge()就ok了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马