这里的代码是不是相当与对Programmer这个类进行了实列化 等同于new Programmer,如果是的化这两种实列化的方法他们的使用方法有何区别不同使用时有没有限制。
老师这里是因为什么啊
package com.changyonglei; import java.util.Arrays; //自定义 一个简单的包装类(仅限于联系) public class MyInteger<toString> { private final int value; private static MyInteger[] cache;//缓存【-128 , 127】 private static final int LOW=-128; private static final int HIGH=127; static{ cache=new MyInteger[HIGH-LOW+1]; for(int i=LOW;i<HIGH;i++){ cache[i-LOW]=new MyInteger(i); } System.out.println(Arrays.toString(cache)); } public MyInteger(int value){ this.value=value; } public static MyInteger valueOf(int value){ return new MyInteger(value); } public int intValue(){ return value; } public static void main(String[] args) { MyInteger a=new MyInteger(10); MyInteger b=MyInteger.valueOf(100); int c=b.intValue(); } }
老师请问这里面toString不重写为什么返回的是地址呢?这里面调用了Arrays 的toString,已经覆盖了Object的toString了呀 ,应该返回的是字符串值 为什么还是地址呢?我点开Arrays类的toString方法看了也是返回数值中的字符串值呀 ,实在想不明白了!
package com.itbaizhan; public class MySinglyLinkedList<E> implements MyList { //定义单向链表中的节点对象 class Node<E>{ private E item;//存储元素 private Node next;//存储下一个节点对象地址 Node(E item,Node next){ this.item = item; this.next = next; } } private Node head;//存放列表中的头节点 private int size;// 记录个数 //添加元素 @Override public void add(E element) { //报错!!!!!!!!!划红线了 //创建节点 Node<E> node = new Node<>(element,null); //找到到尾节点 //节点的挂接 //记录元素个数 } //获取元素 @Override public Object get(int index) { return null; } //获取元素个数 @Override public int size() { return 0; } //删除元素 @Override public Object remove(int index) { return null; } }
相求一下老师使用的api文档
自己不小心删了、、、、
老师我有一个问题守护线程的结束的唯一条件是被守护线程结束他就会结束吗? 如果运行的主线程没有结束而被守护的用户线程已经结束那么守护线程是否还会继续运行?
问:和前面那节课一样,都是只打印偶数。。。试了很多遍都是这样呢
public class TestThread2 implements Runnable { /** * 当前线程的线程体方法 */ @Override public void run() { System.out.println(Thread.currentThread().getName()+" 线程开始"); for(int i=0;i<20;i++){ System.out.println(Thread.currentThread().getName()+" "+i++); } System.out.println(Thread.currentThread().getName()+" 线程结束"); } public static void main(String[] args) { System.out.println("主线程开始"); TestThread2 testThread2 = new TestThread2(); Thread t1 = new Thread(testThread2); t1.start(); Thread t2 = new Thread(testThread2); t2.start(); System.out.println("主线程结束"); } }
图片:
问题:为什么我的线程只打印偶数,0、2、4、6、8.。。
public class TestThread extends Thread { public TestThread(){ System.out.println(this.getName()); } //线程的线程体 @Override public void run() { System.out.println(this.getName()+"线程开始"); for(int i=0;i<20;i++){ System.out.println(this.getName()+" "+i++); } System.out.println(this.getName()+"线程结束"); } public static void main(String[] args) { System.out.println("主线程开始"); TestThread t1 = new TestThread(); //线程启动 t1.start(); TestThread t2 = new TestThread(); //线程启动 t2.start(); System.out.println("主线程结束"); } }
如图
方法:有返回值调用时只需创建一对象通过对象名加方法名直接打印 MethodCeneric methodCeneric = new MethodCeneric(); methodCeneric.setName("mamamiya"); 而没有返回值的为什么需要把对象名加方法名,赋给一个变量在用sout打印那个变量呢 MethodCeneric methodCeneric1 = new MethodCeneric(); String a =methodCeneric1.getName("mama"); System.out.println(a);
怎么通过instance of判断它的类型
Random().nextInt(4) 老师这串代码是运用了两个方法吗?
老师,CompareTo自身实现比较规则,怎么比较的
老师,引用类里的equals方法,hashcode方法,以及toString方法,都是重写后的方法,那么原方法在哪
老师,在引用类中,hashcode为啥会影响equals
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637