public class HelloWorld {
// 定义静态变量,保存班级名称
static String className = "JAVA开发一班";
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
// 访问静态变量,输出班级名称
System.out.println("班级名称:"+hello.className );
}
// 定义静态变量,保存班级名称
static String className = "JAVA开发一班";
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
// 访问静态变量,输出班级名称
System.out.println("班级名称:"+hello.className );
}
2017-06-24
静态内部类调用外部类的静态方法是直接通过类明.变量调用
System.out.println("访问外部类中的score:" + HelloWorld.score);
System.out.println("访问内部类中的score:" + score);
创建静态内部类方法可以直接创建他的对象
// 直接创建内部类的对象
SInner si = new SInner();
// 调用show方法
si.show();
System.out.println("访问外部类中的score:" + HelloWorld.score);
System.out.println("访问内部类中的score:" + score);
创建静态内部类方法可以直接创建他的对象
// 直接创建内部类的对象
SInner si = new SInner();
// 调用show方法
si.show();
2017-06-24
通过内部类的对象来访问其成员变量和方法。
//测试成员内部类
public static void main(String[] args) {
//创建外部类的对象
HelloWorld o = new HelloWorld ();
//创建内部类的对象
Inner inn = o.new Inner();
//调用内部类对象的show方法
inn.show();
}
}
//测试成员内部类
public static void main(String[] args) {
//创建外部类的对象
HelloWorld o = new HelloWorld ();
//创建内部类的对象
Inner inn = o.new Inner();
//调用内部类对象的show方法
inn.show();
}
}
2017-06-24
学过一学期C++,认为点赞最多的@jerryqueue说的不太准确。在有些编译器里子类和父类返回值类型不同会正常运行不会报错,但是从程序的严谨角度来看,这样的代码是有一定的危险性的。如果父类返回值类型为int,而子类返回值类型为double,会导致小数点后数字的丢失。类型的强制转换应该谨慎使用,放在类里也是一样。
2017-06-23
跟着专业老师学了一遍,慕课上学了一遍,然后现在是第三遍。这时候再听的时候脑子里像是有个编辑器一样能清晰的处理好这些封装继承多态。
2017-06-23
static private int isstatic =0;
public class Inner {
private String name = "爱慕课";
void show() {
System.out.println("外部类中的name:" + HelloWorld.this.name );
System.out.println("内部类中的name:" + name );
System.out.println("外部类中的isstatic:" + HelloWorld.isstatic ); }}
public class Inner {
private String name = "爱慕课";
void show() {
System.out.println("外部类中的name:" + HelloWorld.this.name );
System.out.println("内部类中的name:" + name );
System.out.println("外部类中的isstatic:" + HelloWorld.isstatic ); }}
2017-06-21
class HelloWorld {
public static void main(String[] args){
HelloWorld objItem = new HelloWorld();
Inter secObjItem=objItem.new Inter();
secObjItem.Show();
}
class Inter{
public void Show(){
System.out.println("Welcome to imooc!");
}
}
}
public static void main(String[] args){
HelloWorld objItem = new HelloWorld();
Inter secObjItem=objItem.new Inter();
secObjItem.Show();
}
class Inter{
public void Show(){
System.out.println("Welcome to imooc!");
}
}
}
2017-06-21
看到 一段不错的 解释: - **当你关注一个事物的本质的时候,用抽象类;当你关注一个操作的时候,用接口**。
e.g. 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类,他们的抽象类是人。说明,他们都是人。
人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.
所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口、走路接口)。
e.g. 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类,他们的抽象类是人。说明,他们都是人。
人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.
所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口、走路接口)。
2017-06-21