为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第二季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员 3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
    查看全部
  • 一、静态变量:每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员,这时就需要静态成员,静态成员属于整个类(公用的),当系统第一次使用该类时(),就会为其分配内存空间直到该类被卸载才会进行资源回收,使用时当类一个对象修改了其值,其他对象在使用该静态变量时用得就是修改后的值。 二、 静态方法: 1、静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员,如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量; 2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量; 3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:main()就是静态方法; 三、static使用静态初始化块:Java 中可以通过初始化块进行数据赋值,在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块,需要特别注意:静态初始化块只在类加载时执行,且只会执行一次(记住)(比非静态化初始化块先执行),同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
    查看全部
  • public class HelloWorld { String name; // 声明变量name String sex; // 声明变量sex static int age;// 声明静态变量age // 构造方法 public HelloWorld () { System.out.println("通过构造方法初始化name"); name = "tom"; } // 初始化块 { System.out.println("通过初始化块初始化sex"); sex = "男"; } // 静态初始化块 static { System.out.println("通过静态初始化块初始化age"); age = 20; } public void show() { System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age); } public static void main(String[] args) { // 创建对象 HelloWorld hello = new HelloWorld(); // 调用对象的show方法(非静态方法) hello.show(); //执行顺序为静态初始块>初始化块>构造方法初始化 } }
    查看全部
  • java中的访问修饰符
    查看全部
  • public class HelloWorld { // 定义静态变量score1 static int score1 = 86; // 定义静态变量score2 static int score2 = 92; // 定义静态方法sum,计算成绩总分,并返回总分 public static int sum() { return score1+score2; //静态方法中调用同类中的静态成员,但不能直接调用非静态成员 } public static void main(String[] args) { // 调用静态方法sum并接收返回值 int allScore = sum(); //静态方法中可以直接调用同类中静态方法; System.out.println("总分:" + allScore); } }
    查看全部
  • 程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
    查看全部
  • 抽象类 语法定义: 抽象类前使用abstract关键字修饰,则该类为抽象类 应用场景: a.某些情况下,某个父类只是知道子类应该包含怎样的方法,但无法准确知道子类如何实现这些方法 b.从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性 作用: 限制规定子类必须实现某些方法,但不关注实现细节 使用规则: a.abstract定义抽象类 b.abstract定义抽象方法,只有声明,不需要实现 如:public abstract void call(); c.包含抽象方法的类就是抽象类 d.抽象类中可以包含普通方法,也可以没有抽象方法 e.抽象类不能直接创建,可以定义引用变量 1.注意:包含抽象方法的类一定是抽象类,抽象类和抽象方法都需要添加关键字 abstract,且顺序为 abstract class 2.编程:在编程中,先创建一个抽象类,可在其中定义抽象方法(只有声明),再创建子类继承该抽象类(利用browse选择继承的父类),在自动生成代码中写出各自的方法,最后在主函数中利用父类的引用指向子类的对象调用其方法。 注意:抽象方法没有方法体以分号结尾 如:public abstract void call(); public abstract void sendMessage(); 主函数中利用父类的引用指向子类的对象调用其方法。 TelePhone tel1=new CellPhone(); tel1.call(); tel1.message();
    查看全部
  • final 关键字修饰类
    查看全部
  • 成员变量有初始值,局部变量无初始值
    查看全部
  • 成员变量(实例变量):可以被本类或其他类的方法使用; 局部变量:只能被本方法使用;
    查看全部
  • 1.所有Java程序都以class为组织单元 2.类的组成: 属性 和 方法 3.定义类的步骤: A.定义类名 B.编写类的属性 C.类编写的方法 (可以没有) public class 类名{ //定义属性(成员变量) 属性1的类型 属性1; 属性2的类型 属性2; ... 属性n的类型 属性n //定义方法 方法1; 方法2; ... 方法m; }
    查看全部
  • 类 一组对象的集合
    查看全部
  • 类 描述对象属性和方法
    查看全部
  • 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
    查看全部
  • Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!