package java基础错误;
//错误一
abstract class Name {
private String name;
// public abstract boolean isStupidName(String name){}//申明抽象的方法不能实现,必须通过继承才能实现
public abstract boolean isStupidName(String name);
}
package java基础错误;
//错误一
abstract class Name {
private String name;
// public abstract boolean isStupidName(String name){}//申明抽象的方法不能实现,必须通过继承才能实现
public abstract boolean isStupidName(String name);
}
package java基础错误;
//错误二
public class Something{
void doSomething(){
//private String str = "";//方法内只能使用终态(不能添加修饰符)
String str = "";
int len = str.length();
System.out.println("len = "+len);
}
public static void main(String[] args) {
new Something().doSomething();
}
}
package java基础错误;
//错误二
public class Something{
void doSomething(){
//private String str = "";//方法内只能使用终态(不能添加修饰符)
String str = "";
int len = str.length();
System.out.println("len = "+len);
}
public static void main(String[] args) {
new Something().doSomething();
}
}
package java基础错误;
abstract class Something2 {
//private abstract String doSomething();//抽象的方法不能定义私有的,其它类型的都可以,因为抽象类只能通过继承实现抽象类的方法
private String doSomething(){
return "doSomething";
}
}
package java基础错误;
abstract class Something2 {
//private abstract String doSomething();//抽象的方法不能定义私有的,其它类型的都可以,因为抽象类只能通过继承实现抽象类的方法
private String doSomething(){
return "doSomething";
}
}
package java基础错误;
public class Something3 {
public int addOne(final int x){
//return ++x;//final的值不能改变
return x;
}
}
package java基础错误;
public class Something3 {
public int addOne(final int x){
//return ++x;//final的值不能改变
return x;
}
}
package java基础错误;
public class Something4 {
public static void main(String[] args){
Other o = new Other();
new Something4().addOne(o);
System.out.println(o.i);
}
//可改变
public void addOne(final Other o){
o.i++;
}
}
class Other{
public int i;
}
package java基础错误;
public class Something4 {
public static void main(String[] args){
Other o = new Other();
new Something4().addOne(o);
System.out.println(o.i);
}
//可改变
public void addOne(final Other o){
o.i++;
}
}
class Other{
public int i;
}
package java基础错误;
public class Something5 {
//final int i;//final的值必须申明时初始化
final int i = 1;
}
package java基础错误;
public class Something5 {
//final int i;//final的值必须申明时初始化
final int i = 1;
}
package java基础错误;
public class Something6 {
public static void main(String[] args){
Something6 s = new Something6();
System.out.println("s.doSomething() = "+s.doSomething());
// System.out.println("s.doSomething() = "+doSomething());//静态方法中不能直接访问非静态方法,必须通过实例对象.方法
}
public String doSomething(){
return "Do something....";
}
}
package java基础错误;
public class Something6 {
public static void main(String[] args){
Something6 s = new Something6();
System.out.println("s.doSomething() = "+s.doSomething());
// System.out.println("s.doSomething() = "+doSomething());//静态方法中不能直接访问非静态方法,必须通过实例对象.方法
}
public String doSomething(){
return "Do something....";
}
}
package java基础错误;
//接口一
interface Able1 {
void play();
}
//接口二
interface Able2 {
void play();
}
//接口三继承 方法同名的两个接口,并
interface Able3 extends Able1, Able2 {
//任何在interface里声明的interface variable (接口变量, 也可称成员变量),默认为public static final。
//实际上下面这句为 public static final 多接口方法重名 ball = new 多接口方法重名("PingPang");唯一,不可继承
多接口方法重名 ball = new 多接口方法重名("AAAAA");
}
//该类实现了接口三
public class 多接口方法重名 implements Able3 {
private String name;
public String getName() {
return name;
}
public 多接口方法重名(String name) {
this.name = name;
}
public void play() {
// ball = new 多接口方法重名("BBBBB");//这句报错了,因为接口上定义的都为public static final的变量,不可更改!
System.out.println(ball.getName());
}
public static void main(String[] args) {
/*
* 不管这里怎么写,调用的这个方法结果都是接口创建的参数AAAAA
*/
Able3 a = new 多接口方法重名("CCCCC");
a.play();//输出结果为:AAAAA
多接口方法重名 d = new 多接口方法重名("CCCCC");
d.play();//输出结果为:AAAAA
}
}
package java基础错误;
//接口一
interface Able1 {
void play();
}
//接口二
interface Able2 {
void play();
}
//接口三继承 方法同名的两个接口,并
interface Able3 extends Able1, Able2 {
//任何在interface里声明的interface variable (接口变量, 也可称成员变量),默认为public static final。
//实际上下面这句为 public static final 多接口方法重名 ball = new 多接口方法重名("PingPang");唯一,不可继承
多接口方法重名 ball = new 多接口方法重名("AAAAA");
}
//该类实现了接口三
public class 多接口方法重名 implements Able3 {
private String name;
public String getName() {
return name;
}
public 多接口方法重名(String name) {
this.name = name;
}
public void play() {
// ball = new 多接口方法重名("BBBBB");//这句报错了,因为接口上定义的都为public static final的变量,不可更改!
System.out.println(ball.getName());
}
public static void main(String[] args) {
/*
* 不管这里怎么写,调用的这个方法结果都是接口创建的参数AAAAA
*/
Able3 a = new 多接口方法重名("CCCCC");
a.play();//输出结果为:AAAAA
多接口方法重名 d = new 多接口方法重名("CCCCC");
d.play();//输出结果为:AAAAA
}
}
package java基础错误;
interface ATest{
int x = 1;//接口的属性默认隐含为 public static final
}
class BTest{
int x = 2;
}
public class 继承与接口实现问题 extends BTest implements ATest {
public void pX(){
System.out.println("当父类与接口的属性同名时,使用接口名.属性名进行访问: "+ATest.x);
System.out.println("当父类与接口的属性同名时,使用super.属性名进行访问: "+super.x);
}
public static void main(String[] args) {
new 继承与接口实现问题().pX();
}
}
package java基础错误;
interface ATest{
int x = 1;//接口的属性默认隐含为 public static final
}
class BTest{
int x = 2;
}
public class 继承与接口实现问题 extends BTest implements ATest {
public void pX(){
System.out.println("当父类与接口的属性同名时,使用接口名.属性名进行访问: "+ATest.x);
System.out.println("当父类与接口的属性同名时,使用super.属性名进行访问: "+super.x);
}
public static void main(String[] args) {
new 继承与接口实现问题().pX();
}
}
package java基础错误;
class JieKo{
protected int method1(int a, int b){
return 0;
}
}
public class 类继承Protected接口 extends JieKo{
/*
* 这个是重写父类的方法(可以)
public int method1(int a, int b){
return 0;
}
*/
/*
* 子类要重写父类的方法不能比父类更低的访问权限
private int method1(int a, int b){
return 0;
}
*/
/*
* 方法重载 方法一样,参数不同,可以自己访问(可以)
private int method1(int a, long b) {
return 0;
}
*/
/*
* 不知道怎么回答
*
public short method1(int a, int b){
return 0;
}
*/
/*
* 不能是静态的
static protected int method1(int a, int b){
return 0;
}
*/
}
package java基础错误;
class JieKo{
protected int method1(int a, int b){
return 0;
}
}
public class 类继承Protected接口 extends JieKo{
/*
* 这个是重写父类的方法(可以)
public int method1(int a, int b){
return 0;
}
*/
/*
* 子类要重写父类的方法不能比父类更低的访问权限
private int method1(int a, int b){
return 0;
}
*/
/*
* 方法重载 方法一样,参数不同,可以自己访问(可以)
private int method1(int a, long b) {
return 0;
}
*/
/*
* 不知道怎么回答
*
public short method1(int a, int b){
return 0;
}
*/
/*
* 不能是静态的
static protected int method1(int a, int b){
return 0;
}
*/
}
package java基础错误;
interface A{
int x = 0;
}
class B{
int x = 1;
}
class C extends B implements A{
public static void main(String[] args) {
// System.out.println(new C().x);//没有指明哪一个的字段名
}
}
package java基础错误;
interface A{
int x = 0;
}
class B{
int x = 1;
}
class C extends B implements A{
public static void main(String[] args) {
// System.out.println(new C().x);//没有指明哪一个的字段名
}
}
package java基础错误;
interface Playable{
void play();
}
interface Rounceable{
void play();
}
interface Rollable extends Playable, Rounceable {
Ball ball = new Ball("PingPang");
//ball.getName();//此处不能使用ball对象
}
class Ball {
private String name;
public Ball(String name){//构造函数
this.name = name;
}
public String getName(){
return name;
}
public void play(){
//ball = new Ball("Football");//未实例化完整,上面只是借口实例化而已
Ball ball = new Ball("Football");
System.out.println(ball.getName());
}
}
package java基础错误;
interface Playable{
void play();
}
interface Rounceable{
void play();
}
interface Rollable extends Playable, Rounceable {
Ball ball = new Ball("PingPang");
//ball.getName();//此处不能使用ball对象
}
class Ball {
private String name;
public Ball(String name){//构造函数
this.name = name;
}
public String getName(){
return name;
}
public void play(){
//ball = new Ball("Football");//未实例化完整,上面只是借口实例化而已
Ball ball = new Ball("Football");
System.out.println(ball.getName());
}
}