Java学习笔记2——封装

封装

  1. 将类的某些信息隐藏在内部,通过该类提供的方法实现对隐藏信息的操作和访问。好处:1)只能通过规定的方法访问数据;2)隐藏类的实例细节,方便修改和实现。封装的实习步骤:
public class Telphone{
   private float screen;
   private float cpu;
   private float mem;
  
   public float getScreen(){
      return screen;
}
   public void setScreen(float newScreen){
       screen = newScreen;
}
   public Telphone(){
      System.out.println(‘无参构造方法执行‘);
}
}
public class IntialTelphone{
   public static void main(String[] args){
     Telphone phone = new Telphone();
     
     Telphone phone2 = new Telphone(5.0f,1.4f,2.0f);
     phone2.setScreen(6.0f);
     System.out.println(‘screen:‘+phone2.getScreen());
}
}

Java中的包

  1. 包的作用:管理Java文件、解决同名冲突
  2. 定义包:  package 包名,必须放在程序的第一行
  3. 一个 Java 源文件中至多包含一条 package 语句

Java中的访问修饰符

  1. 访问修饰符:private public protected

Java中的this关键字

  1. this关键字代表当前对象,this.属性   操作当前对象属性,this.方法调用当前对象方法
  2. 封装对象属性时,经常用this

Java中的内部类

  1. 内部类:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。
  2. 内部类作用:1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 ;2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 ;3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
//外部类HelloWorld
public class HelloWorld {
    
    // 内部类Inner,类Inner在类Outer的内部
    public class Inner {
        
  // 内部类的方法
  public void show() {
   System.out.println("welcome to imooc!");
  }
 }
    
 public static void main(String[] args) {
        
        // 创建外部类对象
  HelloWorld hello = new HelloWorld();
        // 创建内部类对象
  Inner i = hello.new Inner();
        // 调用内部类对象的方法
  i.show();
 }
}

3. 内部类种类:成员内部类 、静态内部类 、方法内部类 、匿名内部类

4. 成员内部类: 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );

注意:外部类是不能直接使用内部类的成员和方法滴,可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。

5. 静态内部类是 static 修饰的内部类。1) 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 ;2)如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员;3)创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类()

6. 方法内部类:内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。

//外部类
public class HelloWorld { 
    private String name = "爱慕课"; 
    // 外部类中的show方法
    public void show() { 
  // 定义方法内部类
  class MInner {
   int score = 83;
   public int getScore() {
    return score + 10;
   }
  }
        
  // 创建方法内部类的对象
        MInner mi = new MInner();
        // 调用内部类的方法
        int newScore= mi.getScore();
  System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
 }   
 // 测试方法内部类
 public static void main(String[] args) {   
  // 创建外部类的对象
        HelloWorld mo = new HelloWorld(); 
        // 调用外部类的方法
  mo.show();
 }
}

7. 匿名内部类:没有名字的内部类,通常此类型内部类只使用一次。匿名内部类在创建时,必须作为 new 语句的一部分来声明,这就要采用另一种特殊形式的 new 语句。

时间: 2024-10-19 19:29:18

Java学习笔记2——封装的相关文章

非专业码农 JAVA学习笔记 3 抽象、封装和类(2)

(2).静态域-放在内存公共存储单元,不放在特定的对象,用static修饰 (续上一篇<非专业码农 JAVA学习笔记 3 抽象.封装和类(1)>...) (3).静态初始器-由static引导的一对大括号括起来的语句组,作用跟构造函数相似 (4).最终域-final引导的,值在整个过程都不发生改变的 5.方法 (1)方法的定义:修饰词1 修饰词2…返回值类型 方法名(参数) throw[异常列表] 这里个人经验就是注意定义了返回值的方法,要在方法体里面增加return 该类型变量:此外遇到if

Java学习笔记心得——初识Java

初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开始走进Java的世界.  Java产生的历史 Java来自于Sun公司的一个叫Green Project中撰写的程序语言,全球信息网(World Wide Web)兴起,Java Applet成为网页互动技术的代表,特别适合于Internet应用程序开发. Java语言的特点 1.面向对象 这是Java最重要

java学习笔记14--多线程编程基础1

本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为一个进程,例如:用字处理软件编辑文稿时,同时打开mp3播放程序听音乐,这两个独立的程序在同时运行,称为两个进程 进程要占用相当一部分处理器时间和内存资源 进程具有独立的内存空间 通信很不方便,编程模型比较复杂 多线程 一个程序中多段代码同时并发执行,称为多线程,线程比进程开销小,协作和数据交换容易

Java学习笔记之继承

一.继承的基础 在Java术语中,被继承的类叫超类(superclass),继承超类的类叫子类(subclass). 举例说明: 1 class Box 2 { 3 public double width; 4 public double height; 5 public double depth; 6 7 //重载构造方法 8 public Box(Box ob) 9 { 10 width = ob.width; 11 height = ob.height; 12 depth = ob.dep

Java 学习笔记(2015.7.13~17)

Java 学习笔记(2015.7.13~17) Java this关键字 表示本类中的属性,调用本类中的方法 class Person {        private String name;         private int age;         public Person(String name, int age) {         this.name = name;//调用本类中的属性         this.age = age;//同上} //get&set方法:    

java学习笔记16--异常

java学习笔记16--异常 异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失, 所以在程序的设计中必须要考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序正常的执行. 异常类的继承结构 在整个java的异常结构中,实际上有以下两个最常用的类:Exception.Error,这两个类全都是Throwable的子类 Exception:一般表示的是程序中出现的问题,可以直接使用try...catch处理. Error:一般指

Java学习笔记&lt;3&gt;面向对象相关

面向对象的基本思想 从现实世界客观存在的事务出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式,如抽象.分类 继承.聚合.多态等. 类和对象的关系 对象中存储了类规定的数据类型,并且对象可以调用类的方法. java面向对象 <1>对象是java程序的核心,一切皆对象. <2>对象可以看成静态属性(成员变量)和动态属性(方法)的封装体. <3>类是创新同一类型对象的模版,定义了该类型对象应具有的成员变量及方法. 类的定义 成员变量可以用java语言的任何一种

java学习笔记 5

随手 看到了这篇关于Java到底哪里出了问题的文章,笑傻了23333 “Java developers just can’t help themselves it seems - give em an inch, and next thing you know you’re looking at a OO hierarchy 15 layers deep and instantiating a hammer hammer factory.” 继承 Java中的继承用extends,所有的继承都是

Java学习笔记(2015.7.27~7.31)

Java学习笔记(2015.7.27~7.31) Java 课堂 Java学习笔记(2015.7.27~7.31) 小技巧 常用方法 1.List另一个子类--LinkedList 2.数组的常用方法 3.排序 1.二分法查找 2.数组转换为List 3.可变参数Type ... param (了解) 1.容器Collection 2.自动拆装箱(了解) 3.JDK增强for循环(了解) 4.泛型(掌握) 5.iterator与for在迭代中的区别 1.概念:保存多个对象的对象. 2.JDk为什