// 接口A interface A{ void run(); } // 有名字的类,可以反复使用 class AA implements A{ @Override public void run() { System.out.println("AA.run"); } } public class TestAnonymousInnerClass { public void test(A a){ a.run(); } public static void main(String[] args) { TestAnonymousInnerClass tai = new TestAnonymousInnerClass(); // 调用test方法 通过new AA() 创建实现类AA的对象并传入 这里调用的重写后的run()方法 tai.test(new AA()); }
1、老师,这里的tai,test(new AA())算是匿名内部类吗?
2、new TestAnonymousInnerClass(); 这样直接new,前面没起名字的就是匿名么?
package com.bjsxt.array; import java.util.Arrays; public class TestComparable { public static void main(String[ ] args) { Man2[ ] msMans = { new Man2(3, "a"), new Man2(60, "b"), new Man2(2, "c") }; Arrays.sort(msMans); System.out.println(Arrays.toString(msMans)); } } class Man2 implements Comparable { int age; int id; String name; public Man2(int age, String name) { this.age = age; this.name = name; } public String toString() { return this.name; } public int compareTo(Object o) { Man2 man22 = (Man2) o; if (this.age < man22.age) { return -1; } if (this.age > man22.age) { return 1; } return 0; } }
Man2只是实现了接口,没有继承为什么会有super()?super调用的是哪个类的方法?compareTo返回的都是数字,他是怎么实现排序的?
请问一下,这一块有什么用,我删除这一块之后程序也能运行。
老师,视频上说多态更加灵活,但是要是调用运行时类型的方法还需要向下强转。但是这里每个子类的shout()方法都重写了,那我直接new子类对象引用方法不就可以了,都不需要向上或者向下转型呀。为什么还要说用多态会比较方便?就算又增加了Animal的子类但是也重写了方法,那我继续new新的子类对象在调用不就好了吗
老师默认修饰符是default,所以在变量前面再加上default就会报错,是吗?
方法和类的默认修饰符也是default吗?
void launchFrame(){ setSize(856,501); setLocation(200,200); setVisible(true); }
老师,setLize,方法怎么出来的,是本地方法?请老师解释一下
老师,那个讲讲main方法,里面的参数为啥是String[] args 数组
public class TestObject { public static void main(String[] args) { } } class Employee extends Object{ } 老师我为什么按Ctrl进不了Object的类源码
我想请教下?全局变成是不是指的就是静态变量???
老师,视频里的画图软件可以给一下嘛,谢谢
老师是不是丢视频了啊? SxtStu2这个类视频没有但已经写了,而且上个视频在最后的uml类图也没有讲
long d1 = System.currentTimeMillis();
long d2 = System.currentTimeMillis();
视频说昨天讲过了,请这部分的视频是没有录制么?没有看到呀
老师。我JDK安装的版本为13,但是安装IDEA时,它自动设置为版本,请问怎么更改配置?
标识符以文字开头也对嘛?1111111111111111111111111111111111111111111111111111111111111111111111
package com.pratice; /** * 打印出实心10*10,空心10*10正方形 * 封装成方法,便于重用。 */ public class homeWork2{ private int x,y; public int getX() { return x; } public void setX(int x) { if(x<0){ this.x = 5; } this.x = x; } public int getY() { return y; } public void setY(int y) { if(y<0){ this.y = 5; } this.y = y; } public static void Cicle(int x,int y) { if (x != y) { System.out.println("参数不相等,无法打印正方形,打印出错!!!"); } else { System.out.println(" ===打印实心正方形==="); for (int i = 1; i <= x; i++) { for (int j = 1; j <= y; j++) { System.out.print("*"+"\t"); } System.out.println(); } System.out.println(" ===打印空心正方形==="); for (int i = 1; i <= x; i++) { for (int j = 1; j <= y; j++) { if (i == 1 || i == x || j == 1 || j == y) { System.out.print("*"+"\t"); } else System.out.print(" "+"\t"); } System.out.println(); } } } } class Text{ public static void main(String[] args) { homeWork2 C = new homeWork2(); C.setX(15); C.setY(15); C.Cicle(C.getX(),C.getY()); } }
如果把set()方法换成int类型,return set(x),那把C.set()传入Circle()里面就好了,可以不用get()方法了?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637