- 浏览: 246293 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
3w1h:
"2.对于外部查询中的每一行分别执行一次子查询,而且 ...
浅说:in、not in、exists和not exists的区别 -
danielhjd:
shishuang 写道[size=large][/size] ...
(SSH框架)Spring 和Struts的配置说明... -
shishuang:
[size=large][/size] 没有出来你strut ...
(SSH框架)Spring 和Struts的配置说明... -
daven1314:
不错,学习了!
(oracle)如何创建和使用procedure
第一题:
package william; abstract class Name { private String name; public abstract boolean inStupidName(String name){ System.out.println("okay"); }; }
报错:
问题:1) Abstract methods do not specify a body;
2) This method must return a result of type boolean;
3) The field Name.name is never read locally;
第二题:
package william; public class Outer { private String str="this is outter"; class Inner{ String str="this is inner"; void inner_f1(){ System.out.println(this.str); System.out.println(new Outer().str); } } public static void main(String[] args){ Outer out=new Outer(); Outer.Inner inner=out.new Inner(); inner.inner_f1(); } }
注意问题:
1:Outer out=new Outer(); Outer.Inner inner=out.new Inner(); 实例化一个内部类;
No enclosing instance of type Outer is accessible. Must qualify the allocation with an enclosing instance of type Outer (e.g. x.new A() where x is an instance of Outer).
2:System.out.println(this.str); System.out.println(new Outer().str);
第三题:
public class C extends B implements A { public void pX(){ System.out.println(super.str); System.out.println(A.str); } public static void main(String[] args) { new C().pX(); } }
注意问题:
1:调用父类,用super;
2:调用接口,不需要instantiate;The static field A.str should be accessed in a static way;
第四题:
class A;
package test; class A { String s; A(String s) { this.s=s; } public void print(){ System.out.println(s); } }
Class Testt;
报错:
1)Implicit(不明确的) super constructor A() is undefined for default constructor. Must define an explicit (明确的)constructor;
2)如果删除A类中的构造方法,这个程序可以通过编译但是由于S没有赋值输出的结果为null;
修改:
package test; public class Testt extends A { Testt(String s) { super(s); // TODO Auto-generated constructor stub } public static void main(String[] args) { Testt t=new Testt("s"); t.print(); } }
注意:
1)此处是含参数的构造器constructor;
第五题;
package test; public class TestB extends TestA { public void start(){ System.out.println("TestB"); } public static void main(String[] args) { ((TestA)new TestB()).start(); } }
无报错,可以通过编译;
输出结果为:
TestB
1) override
第六题:有关继承的关系;
TestA
package test; class TestA { String test="Hello TestA"; public void start(){ System.out.println("TestA"); } }
TestB
package test; public class TestB extends TestA { String test="Hello testB"; public void start(){ System.out.println(super.test); System.out.println("TestB"); System.out.println(test); } public static void main(String[] args) { TestA t= new TestB(); t.start(); System.out.println(t.test); } }
输结果:
Hello TestA TestB Hello testB Hello TestA
1)在主函数中,如何调用父类调用父类的属性和方法;
public static void main(String[] args) { TestA t= new TestA(); t.start(); System.out.println(t.test); }
输出结果:
TestA
Hello TestA
2)在主函数中,如何通过子类调用父类的属性,同时又可以调用子类的属性和方法;
public static void main(String[] args) { TestA t= new TestB(); t.start(); System.out.println(t.test); }
输出结果:
Hello TestA
TestB
Hello testB
Hello TestA
3)在主函数中,如果子类overide父类的方法,那么父类的方法还可以被子类调用吗?
在2)中我们用父类实例了一个对象t,结构调用start()的方法时,却是调用子类的方法。
Parent;
package test; class Parent { public Parent() { System.out.println("Parent_constructor"); test(); } public void test() { System.out.println("Parent_test"); } }
Child;
package test; public class Child extends Parent { private String name = "张三丰"; public Child() { super(); this.test(); System.out.println("Child_constructor"); } public void test() { System.out.println("Child_test,name=" + name); } public static void main(String[] args) { new Child(); } }
输出结果;
Parent_constructor
Child_test,name=null
Child_test,name=张三丰
Child_constructor
总结:
1:当父类不含有construtor;
a.子类没有override父类的方法
子类实例化对象可以直接调用父类的方法和属性;如果属性父类和子类有相同的属性,在调用父类的属性时,通过Parent p=new Child();可以获取parent的属性...
package test; class Parent { public void test1() { System.out.println("Parent_test"); } }
package test; public class Child extends Parent { private String name = "张三丰"; public void test() { System.out.println("Child_test,name=" + name); } public static void main(String[] args) { Child t=new Child(); t.test(); t.test1(); System.out.println(t.name); } }
如果属性父类和子类有相同的属性,在调用父类的属性时,通过Parent p=new Child();可以获取parent的属性...
package test; class Parent { String name="张二疯"; public void test1() { System.out.println("Parent_test"); } }
package test; public class Child extends Parent { private String name = "张三丰"; public void test() { System.out.println("Child_test,name=" + name); } public static void main(String[] args) { Child c=new Child(); Parent p=new Child(); p.test1(); System.out.println(c.name); System.out.println(p.name); } }
b.子类overrride父类的方法
无论是通过子类实例化 还是父类通过子类实例化,因为父类的方法被子类override所以输出的结果都是一样;
package test; class Parent { String name="张二疯"; public void test() { System.out.println("Parent_test"); } }
package test; public class Child extends Parent { private String name = "张三丰"; public void test() { System.out.println("Child_test,name=" + name); } public static void main(String[] args) { Child c=new Child(); Parent p=new Child(); c.test(); p.test(); System.out.println(c.name); System.out.println(p.name); } }
输出:
Child_test,name=张三丰
Child_test,name=张三丰
张三丰
张二疯
2:当父类含有不含参数的construtor;
子类的默认的construtor;继承了父类的construtor;
package test; class Parent { public Parent() { System.out.println("Parent_constructor"); test(); } public void test() { System.out.println("Parent_test"); } }
package test; public class Child extends Parent { private String name = "张三丰"; public void test() { System.out.println("Child_test,name=" + name); } public static void main(String[] args) { new Child(); } }
package test; public class Child extends Parent { private String name = "张三丰"; public Child() { super(); } public void test() { System.out.println("Child_test,name=" + name); } public static void main(String[] args) { new Child(); } }
输出结果:
Parent_constructor
Child_test,name=null
2:当父类含有含参数的construtor;
在子类中必须声明一个含参数的construtor,并super()继承,如第四题。
第七题:
父类:
class ExamSuperA { int m = 0; int n = 0; long f(){ return m+n; } }
子类:
class B extends ExamSuperA{ int m=1,n=1; long f(){ long result = 0; super.m=10; super.n=20; result = super.f()+(m+n); return result; } long g(){ long result = 0; result = super.f()+(m+n); System.out.println(super.m); return result/2; } } public class ExamSuper { public static void main(String[] args) { B b = new B(); b.m =3; b.n = 7; long resultOne = b.g(); long resultTwo = b.f(); long resultThree = b.g(); System.out.println("resultOne="+resultOne); System.out.println("resultTwo="+resultTwo); System.out.println("resultThree="+resultThree); } }
输出结果:
0
10
resultOne=5
resultTwo=40
resultThree=20
总结:
通过子类实例化 b
执行long resultOne = b.g(); super.m=0 所以输出的第一个结果为“0”;
执行long resultTwo = b.f();由于子类override父类的,所以此时调用的f()方法是子类的,子类f()方法中又将super.m;和super.n重新赋值;
执行long resultOne = b.g();其中调用的Super.f()中m.n属性的值已经通过子类修改,所以super.f()的值也发生了改变...
特别注意:super.f()中的属性被修改了 区别于:为什么在Operate这个方法中运行后,X的值改变,但Y没有?
Child c=new Child();
Parent p=new Child();
对象c不仅有自己属性和方法,还继承了父类的方法和属性;
如果子类将父类的方法override了,那么用对象c调用的方法为Child 类的方法;p的方法也将被子类的方法override了,也就是说p的方法被override了,原来的方法不存在了。
如果子类将父类的属性同名,可以通过p来调用parent的同名属性。
发表评论
文章已被作者锁定,不允许评论。
-
Axis2 Client Tub
2013-03-04 22:23 1265使用AXIS的工具将使Web服务的 ... -
Idiot's Note Six: I/O 保存和读取字节数据,以及BufferedOutputStream的用法
2011-07-05 18:31 2113InputStream类操作的是字节数据(byte),不是字符 ... -
Idiot's Note Five: 代标号的continue和break,以及java中赋值的深入理解
2011-06-30 19:51 1476语法: continue 标号 ... -
Idiot's Note Four: 循环中continue和“if ”的细节注意
2011-06-30 18:04 1418先查看代码: public class ContinueTe ... -
Idiot's Note Three: 循环中Break和“<=xxx.length”的细节注意
2011-06-30 17:16 1480首先查看代码: public class BreakTest ... -
Idiot's Note Two: java中的复合运算符及其等价形式
2011-06-29 17:46 1792复合赋值运算符: 运算符 用法 等价形式 ... -
Idiot's Note one: java中的关系和逻辑运算符,比较的是什么?
2011-06-29 17:15 2175java中的关系和逻辑运算 ... -
如何在cmd命令模式下compile java
2011-06-29 11:34 2069Step one: Run cmd Step two: ... -
java程序中“两分法”查找数据
2011-06-21 16:03 1505package Daniel; import java. ... -
静态(static) 和 非静态(non-static)
2011-06-17 17:36 1169在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的 ... -
Linux 入门常用命令
2011-06-09 12:04 1478Linux的目录结构: 硬盘: 在Linux里 ... -
实现两级下拉选项的代码
2011-04-26 19:19 1143<!DOCTYPE HTML PUBLIC " ... -
java 中 set ,list, map 的运用 和 遍历
2011-03-22 11:28 1424import java.util.*; public clas ...
相关推荐
【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...
Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...
随着对基础知识的掌握,笔记会进一步带你探索Java集合框架,包括数组列表、链表、队列、栈、映射等数据结构,以及它们在实际问题中的应用。此外,多线程编程也是Java的一大亮点,笔记会介绍线程的创建与同步机制,如...
java笔记java笔记java笔记java笔记java笔记java笔记java笔记
本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...
异常处理是Java中的一个重要特性,用于处理程序运行过程中发生的错误情况。 - **异常基本概念**:异常是在程序执行过程中发生的问题。 - **捕获异常**:使用try-catch语句块来捕获异常。 - **处理异常**:可以抛出...
通过这个Java笔记桌面程序,我们可以看到开发者如何运用自己的技术知识解决实际问题,这不仅是提升个人技能的一种方式,也是在IT行业中展示创造力和解决问题能力的良好实践。对于想要学习Java桌面应用开发的初学者来...
通过学习这份Markdown版的Java学习笔记,不仅可以掌握Java编程的基础,还能了解到一些高级话题,为成为熟练的Java开发者打下坚实基础。同时,Markdown格式使得笔记易于编辑和分享,是个人学习和团队协作的理想选择。
这份"java笔记java笔试题 java面试题"的资源无疑是准备Java程序员的笔试和面试时的重要参考资料。以下是一些关键的Java知识点,这些内容可能会在笔记或面试中出现: 1. **Java基础**:Java的基础语法包括数据类型...
java学习笔记java学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记...
“尚硅谷JAVA基础笔记”涵盖了Java语言的基础知识,包括语言概述、基本语法、面向对象概念、封装、继承和多态,以及一些关键概念如形参与实参、属性与局部变量、构造器、this关键字、包和MVC设计模式的使用。...
【标题】:“狂神说java系列笔记”涵盖了Java的基础、Web开发、SSM框架以及微服务等关键领域,是一套全面深入的Java学习资源。它旨在帮助初学者和进阶者掌握Java编程语言的核心概念,以及在实际项目开发中的应用。 ...
4. Java核心类库:Java的核心类库提供了丰富的API接口,从基本数据类型到集合框架、输入输出流、网络编程、多线程以及安全管理等,这些内容笔记中也可能有详尽的介绍。 5. 设计模式和架构:Java作为企业级应用开发...
Java学习笔记1是学习Java过程中的笔记,主要记录了Eclipse开发环境中的快捷键使用、编辑功能、查找和调试等知识点。 Eclipse快捷键 Eclipse中有许多快捷键,掌握这些快捷键可以大大提高开发效率。下面列举了一些...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
java基础笔记整理java基础笔记整理
通过对《李兴华Java实战经典笔记》的深入学习,读者不仅可以掌握Java编程的基础知识,还能了解到实际项目中的一些最佳实践,这对于成为一名合格的Java开发者来说是非常有益的。同时,结合实际编程练习,可以更好地...
【Java编程语言基础】 Java是一种广泛使用的面向对象的编程...这些笔记内容全面覆盖了Java的基础和进阶知识,适合从零开始学习Java的人群,通过系统学习,可以建立起扎实的Java编程基础,为实战项目开发打下坚实基础。
最后,笔记可能还会提供一些实际项目案例,让学习者能够将理论知识应用到实践中,提升解决实际问题的能力。 总之,这份“达内Java_笔记整理.pdf”文件是学习Java的宝贵资源,涵盖了广泛的Java知识体系,无论你是...