(1). 封装

封装类的时候属性用private,方法getter和setter用public

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

2.好处:只能通过规定的方法访问数据

隐藏类的实例细节,方便修改和实现

3. 封装的步骤:修改属性的可见性 设为private

创建getter/setter方法  用于属性的读写

在getter/setter方法中加入属性控制语句   对属性值的合法性进行判断

getter方法:get+属性名大写

setter方法:set+属性名大写

private float screen;

public float getScreen(){

return screen;

}

//给属性赋值不需要有返回值

public void setScreen(float newScreen){

screen=newScreen;

}

//读取属性的值

phone.getterScreen();

//给属性赋值

phone.setterScreen(5.1f);

(2)java中的包

包的作用:管理java文件

解决同名文件冲突

2.定义包:package 包名

注:必须放在java源程序的第一行

包名间可以用“.”隔开

3. 系统中的包

java.(功能).(类)

java.lang.类 包含java语言基础的类

java.util.类 包含java语言中各种工具类

java.io.类 包含输入,输出相关功能的类

4. 使用包

import 包名

包名要小写

(4)java中的访问修饰符

访问修饰符修饰属性和方法的访问范围

private只能在本类中

public所有都行

protected在本类,子类,和同一个包中

什么不加,是本类和同一包中

(5)java中的this关键字

1. this关键字代表当前对象

this.属性,表示当前对象的属性

this.方法,表示操作当前对象的方法

source中自动添加getter和setter方法

private float screen;

public float getScreen(){

return screen;

}

//给属性赋值不需要有返回值

this.screen 表示当前类的属性

public void setScreen(float screen){

this.screen=screen;

this.

}

(6)内部类

内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

内部类的方法可以访问外部类的所有数据,包括私有的数据

内部类实现的功能,外部类都能实现,只是有时使用内部类更方便

成员内部类

package com.demo;

public class Outer { private int a=99;

public class Inner{  int b=2;

public void test(){   System.out.println(a);

System.out.println(b);  }

}

//测试成员内部类

public static void main(String args[]){

Outer o=new Outer();//创建外部类对象,对象名o

Inner i=o.new Inner();//使用外部类类对象创建内部类对象,对象名为i;

i.test();//调用内部类对象的方法

}

}

Inner类定义的test方法可以直接访问Outer类中的数据,不受控制符的限制,直接访问Outer类的私有属性

定义了成员内部类后,必须使用外部类对象来创建内部类对象

内部类 对象名=外部类对象.new 内部类();

编译程序会出现两个类文件:成员内部类:外部类名$内部类名.class

注意:外部类不能直接访问内部类的成员和方法,可先创建内部类的对象,让后通过内部类对象来访问

内外部类具有相同的成员变量和方法是,内部类默认的访问自己的,如果要访问外部类的成员变量,可以使用this关键字

静态内部类

静态内部类不能直接访问外部类的非静态成员,通过new 外部类().成员访问

同名,可通过类名.静态成员访问

创建内部类对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

方法内部类

只有在方法中才能使用

由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符合static修饰符

java 入门 第二季2的更多相关文章

  1. JAVA入门第二季(mooc-笔记)

    相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第二季&g ...

  2. Java入门第二季学习总结

    课程总概 该门课程作为java入门学习的第二季,是在有一定的java基础上进行的进一步学习.由于该季涉及到了java的一些核心内容,所以相对第一季来说,课程难度有所提升.大致可将该季的课程分为五部分: ...

  3. JAVA入门第二季 第一章 类和对象

    面向对象编程 Object Oriented Programming OOP 第一.什么是类和对象 在具体说明类和对象之前,先说说别的. 眼睛在人类身体上最为有用的器官.如果一个没有了眼睛,这个人与世 ...

  4. Java入门第二季第2章封装

    什么是 Java 中的内部类 问:什么是内部类呢? 答:内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. 问:那为什么要将一个类定义在另一个类里 ...

  5. 《Java入门第二季》第四章 多态

    Java 中的多态1.引用的多态:意思就是父类的句柄既可以持有本类的对象,也可以持有子类的对象. 2.方法的多态:注意点是当父类句柄持有子类对象的时候,无法调用子类特有的方法. 多态中的引用类型转换1 ...

  6. java 入门 第二季4

    1. 多态 继承是多态的实现基础 引用的多态 父类的引用可以指向本类的对象 父类的引用可以指向子类的对象 方法的多态 创建本类对象时,调用本类方法 2种是调用子类的方法或继承的方法 子类中添加独有的方 ...

  7. java 入门 第二季3

    1.继承 1.java是单继承的,一个子类只有一个父类 父类,基类 子类,派生类 2.继承的好处:子类拥有父类的所有属性和方法,属性的修饰符不能是private 3.语法规则: class 子类 ex ...

  8. java 入门 第二季1

    (1). 类和对象(java 语言是面向对象的) 1). 类是对象的类型 具有相同的属性和方法的一组对象的集合 类:属性和方法 定义类: 类名 属性 方法 //class为关键字 2.定义类时,首字母 ...

  9. Java入门第二季第一章类和对象知识点

    Java 中的 static 使用之静态方法 1. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员.如: 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问 ...

随机推荐

  1. kafka环境搭建及librdkafka测试

    kafka环境搭建及librdkafka测试 (2016-04-05 10:18:25)   一.kafka环境搭建(转自http://kafka.apache.org/documentation.h ...

  2. 【8-17】c++学习笔记01

    控制台程序不自动退出方法: system("pause"); getchar() 使用执行 ctrl+F5,开始调试 F5会出现闪退 动态内存分配 //construct c st ...

  3. 如何删除git远程分支

    1,在开发过程中,大家在远程创建了许多分支,有些是无用的,该如何删除呢,可以参考下面的方法. 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放 稳 ...

  4. R获取股票数据

    R中好几个Pkg都提供了股票数据的在线下载方法,如果非得在其中找出一个最好的,那么quantmod当之无愧!举一个例子,譬如下载沪市大盘数据,代码可以是: library(quantmod)SSE & ...

  5. golang笔记——包

    1.包简述 GO本身没有项目的概念,只有包,包括可执行包和不可执行包,而不管什么包,都应该包含在 $GOPATH/src 目录下,GO命令和编译器会在 $GOPATH/src 目录下搜索相应的包.比如 ...

  6. Spring与Quartz的整合实现定时任务调度(转)

    源:http://kevin19900306.iteye.com/blog/1397744 最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少 ...

  7. Apache中,同一IP使用多域名对应多个网站的方法

    首先dns中确定有相应的A记录, abc  IN A   211.154.2.5 mail IN A   211.154.2.5 这个讲的是在windows下面配置apache虚拟主机: 一.配置虚拟 ...

  8. 64.SHELL

    SHELL 1. crontab定时器 编辑使用crontab -e 一共6列,分别是:分 时 日 月 周 命令 查看使用crontab -l 删除任务crontab -r 查看crontab执行日志 ...

  9. 【C语言入门教程】4.6 指针 和 数组

    数组在内存中以顺序的形式存放,数组的第一个存储单元的地址即数组的首地址.对一维数组来说,直接引用数组名就能获得该数组的首地址.指针变量可以存放于其内容相同的数组首地址,也可以指向某一具体的数组元素.通 ...

  10. Android 如何在Eclipse中查看Android API源码 及 support包源码

    当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的.android系统是开源的,所以谷歌官方 ...