1.关于java中对象调用方法
内存里a和b指向的不是同一个对象,不是同一块内存。代码hh a=new hh();是表示在栈内存里分配一块区域给a,同时在堆内存里创建一个hh类的对象,然后让a指向这个对象。代码hh b=new hh();是表示在栈内存里分配一块区域给b,同时在堆内存里创建一个hh类的对象,然后让b指向这个对象。看你的hh里没有重写toString(),直接打印a和b应该是调用Object里面的toString(),打印出来的是类名和此对象的十六位哈希码,应该是不同的。然后我把你的代码自己运行了一下,打印出来的哈希码也是不一样的,不论是直接打印a和b由toString()方法默认返回的,还是调用两个对象中的hashCode()方法出来哈希码都是不相同的。a.equals(b)返回的是false说明a和b不相等,我查了一下API,根据API里面写的hashCode 的常规协定是:在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用hashCode 方法不 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。说明相同的对象,哈希码必须相同。不同的对象,哈希码不一定不同。我查了下资料,哈希码的生成函数不能保证不同对象生成的哈希码一定相同,有很小很小的几率会相同,不会被你装上了吧?还是其他class的干扰呢?你把重新建一个文件夹,把java文件复制进去,然后编译运行看下还是不是一样。我也是刚学java的,工作比较无聊我就学了下java,刚学了1个半月吧。能力有限,我把我懂得都写出来,希望能帮到楼主。
请采纳答案,支持我一下。
2.java写一个类并创建对象,然后调用方法
// Car.java
public class Car {
public void start() {
System.out.println("car start。");
}
public void speed() {
System.out.println("car speed。");
}
}
//CarApp.java
public class CarApp {
public static void main(String[] args) {
Car car = new Car();
car.start();
car.speed();
}
}
3.关于java中对象调用方法
内存里a和b指向的不是同一个对象,不是同一块内存。代码hh a=new hh();是表示在栈内存里分配一块区域给a,同时在堆内存里创建一个hh类的对象,然后让a指向这个对象。代码hh b=new hh();是表示在栈内存里分配一块区域给b,同时在堆内存里创建一个hh类的对象,然后让b指向这个对象。看你的hh里没有重写toString(),直接打印a和b应该是调用Object里面的toString(),打印出来的是类名和此对象的十六位哈希码,应该是不同的。然后我把你的代码自己运行了一下,打印出来的哈希码也是不一样的,不论是直接打印a和b由toString()方法默认返回的,还是调用两个对象中的hashCode()方法出来哈希码都是不相同的。a.equals(b)返回的是false说明a和b不相等,我查了一下API,根据API里面写的hashCode 的常规协定是:在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用hashCode 方法不 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。说明相同的对象,哈希码必须相同。不同的对象,哈希码不一定不同。我查了下资料,哈希码的生成函数不能保证不同对象生成的哈希码一定相同,有很小很小的几率会相同,不会被你装上了吧?还是其他class的干扰呢?你把重新建一个文件夹,把java文件复制进去,然后编译运行看下还是不是一样。我也是刚学java的,工作比较无聊我就学了下java,刚学了1个半月吧。能力有限,我把我懂得都写出来,希望能帮到楼主。
请采纳答案,支持我一下。
4.java中方法调用时的写法
方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
格式如下:
修饰符 返回值类型 方法名 (参数列表){
代码。
}
public static void methodName() {
System.out.println("这是一个方法");
}
方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法。在主方法中,直接写要调用的方法名字就可以调用了。
调用过程如下:
public static void main(String[] args) {
//调用定义的方法method
method();
}
//定义方法,被main方法调用
public static void method() {
System.out.println("自己定义的方法,需要被main调用运行");
}
函数方法的出现解决了代码的冗余量。
5.java中调用方法时对象.方法,什么时候可以省略对象
在对象方法的上下文中,可以省略this,直接写方法。
例如:
public class A
{
private void b()
{
}
public void a()
{
b();//可以省略this
}
public static void c(A a)
{
a.a();//必须用对象来调,不能省略
a.b();//错误,不能调用私有方法
}
}
6.java如何调用一个方法内的对象
public int maybeNew(int index) { if(index < 1) { Mix4 m4 = new Mix4(); m4.counter = m4.counter + 1; return 1 //System.out.println("m4.counter = " + m4.counter); } return 0;}因为你是在这个方法里定义的m4,这里的m4为一个局部变量,意思是m4只在maybeNew这个方法的 if(index < 1) {}内才有效,其它地方用不到的,及时是在同一个方法的if外面都引用不到,这是java为局部变量定义的规则,没有为什么,这是必须得。
7.java关于对象和调用方法
考的应该就是重载、覆盖方法后调用的哪一个方法。
像Beta类,它继承Alpha类并重载essai方法,那么Beta类就有两个essai方法:essai(Alpha)和essai(Beta)。b.essai(b)调用的是essai(Beta),因为b申明的是Beta类型,打印的是"beta"。
b.essai(c)应用的是调用的是essai(Alpha),因为c申明的是Alpha类型,打印的是"alpha"。而Gamma类,它继承Beta类,但它覆盖了Alpha类的essai(Alpha)方法。
那第它也就两个essai方法:essai(Alpha)和essai(Beta)。但由于它覆盖了essai(Alpha)方法,所以essai(Alpha)方法打印的不再是"alpha",而是"gamma"。
d.essai(d)调用的是essai(Beta),打印的仍然是"beta"。e.essai(d)调用的是Gamma类的essai(Alpha)(而且只能调用essai(Alpha),因为e申明的是Alpha类型,Alpha类只有一个essai方法。
又因为d的类型是Alpha的子类,所以可以传进去),因为它new的是Gamma类对象而不是Alpha类对象,而Gamma类的essai(Alpha)方法覆盖了Alpha类的essai(Alpha)方法,所以打印的是"gamma"而不是"alpha"。同样的d.essai(e)调用的也是Gamma类的essai(Alpha)方法,打印的是"gamma"。
呼,说得有点绕了。
8.求教大神,java中对象调用方法是的i++是怎么执行的
当你调用一个成员方法时
这样 我举个例子吧
如这样一个函数
class ABC
{
public int Hello( string name )
{
Point p = new Point(); // 看似无用
string hi = "Hello!" + name;
return hi;
}
}
当用户初始化这个ABC类(产生出一个对象)并调用成员方法时
如
ABC abc = new ABC();
abc.Hello( "hospitality" );
首先 先将参数"hospitality"放入函数name参数中
然后调用那个函数 自上而下执行
执行到return 后 函数返回 函数内的对象(如那个看似无用的Point p)会被析构
转载请注明出处育才学习网 » java对象调用方法怎么写