java总结第二次(剩余内容)//类和对象1
7.成员变量和局部变量
成员变量:在类中定义,用来描述对象将要有什么
局部变量:在类的方法中定义,在方法中保存临时数据
区别:作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
8.信息的封装和隐藏
Java中通过将数据声明为私有的(private),再提供公开的(public)方法:getXXX和setXXX实现对该属性的操作,以实现下述目的:
隐藏一个类的实现细节;
使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
便于修改,增强代码的可维护性;
举例:
public class Animal{
private int legs; 将属性legs定义为private
public void setLegs(int i){
if (i != 0 && i != 2 && i != 4){
System.out.println("Wrong number of legs!");
return;
}
legs=i;
}
public int getLegs(){ 在这里定义方法
return legs;
}
}
9.构造器的定义与作用
构造方法的特征
当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。
构造方法的特征
与类名相同;
没有返回值(区别于void)
举例:
public class Animal {
private int legs;
public Animal() {legs = 4; } 构造器
public void setLegs(int i) { legs = i; }
public int getLegs(){return legs;}
}
另:默认的构造方法:
Java语言中,每个类都至少有一个构造方法;
如果类的定义者没有显式的定义任何构造方法,系统将自动提供一个默认的无参数的构造方法。所以:一个类本身不编写构造方法,依然能用new Xxx()创建该类的实例。
Java类中,一旦类的定义者显式定义了一个或多个构造方法,系统将不再提供默认的构造方法;
构造器的主要作用:利用构造器参数初始化对象的属性。
10.

11.方法的重载
方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或类型不同即可。 如:
public class Test{
public static void main(String [] args){
int isum;
double dsum;
isum=add(3,5);
isum=add(3,5,6);
dsum=add(3.2,6.5);
}
public static int add(int x,int y) { return x+y; }
public static int add(int x,int y,int z) { return x+y+z; }
public static double add(double x,double y){ return x+y; }
}
具体要求:
在同一个类中可以定义多个同名方法
public class PrintStream{
public void print(int i) {……}
public void print(float f) {……}
public void print(String s) {……}
}
重载方法的参数列表必须不同
重载方法的返回值类型可以相同,也可以不同
调用时根据方法的参数类型来区别。
print(3);print(1.2f);print(“hello!”)
12.构造方法的重载
构造方法一般用来在创建对象的同时初始化对象。如
class Person{
String name;
int age;
public Person(String n , int a){ name=n; age=a;}
}
构造方法重载使得对象的创建更加灵活,方便创建各种不同的对象。
构造方法重载举例:
public class Person{
public Person(String name, int age, Date d) {this(name,age);}
public Person(String name, int age) {…}
public Person(String name, Date d) {…}
public Person(){…}
}
构造方法重载,参数列表必须不同
举例:
public class Person {
private String name;
private int age;
private Date birthDate;
public Person(String name, int age, Date d) {
this.name = name;
this.age = age;
this.birthDate = d;
}
public Person(String name, int age) {
this(name, age, null);
}
public Person(String name, Date d) {
this(name, 30, d);
}
public Person(String name) {
this(name, 30);
}
}
13.this关键字
每个成员方法内部,都有一个this引用变量,指向调用这个方法的对象。
具体实例见上面程序
java总结第二次(剩余内容)//类和对象1的更多相关文章
- JAVA入门第二季 第一章 类和对象
面向对象编程 Object Oriented Programming OOP 第一.什么是类和对象 在具体说明类和对象之前,先说说别的. 眼睛在人类身体上最为有用的器官.如果一个没有了眼睛,这个人与世 ...
- Java入门第二季第一章类和对象知识点
Java 中的 static 使用之静态方法 1. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员.如: 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问 ...
- Java入门篇(六)——类和对象
写到这里终于写到了入门篇的最后一个知识点了.类和对象是Java中经常被提到的两个词汇,实际上可以将类看作对象的载体,它定义了对象所具有的功能.Java是面向对象的语言,因此掌握类与对象是学习Java语 ...
- 《Java编程思想》读书笔记-类与对象
欢迎各位读者关注我的微信公众号,共同探讨Java相关技术.生命不止,学习不休! 也许你慢慢地对程序有了这样的认识:程序只是一些列带有方法的对象的组合,这些方法以其它对象为参数,可在任何地方返回,并发送 ...
- Java基础--面向对象编程1(类与对象)
1.类(class)的定义 类是对一组具有相同特征和行为的对象的抽象描述. 在程序中,引入类的概念,就是为了快速生成更多的具有相同特性和行为的事物. 2.对象(object)的定义 对象是类的具体实现 ...
- Java学习笔记(二)——类和对象
[1]类是模子,确定对象将会拥有的特征(属性)和行为(方法). [2]类的特点:类是对象的类型: 具有相同属性和方法的一组对象的集合. [3]属性:对象具有的各种特征(每个对象的每个属性都拥有特定值) ...
- Java知多少(7)类与对象
Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念. Java中的类可以看做C语言中结构体的升级版.结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可 ...
- java入门学习(4)— 类,对象理解,如何创建类,对象
1.什么是类?具有一定相同的属性的对象的集合就叫类.2.对象:类的具体实例,就是类的实例化.比如学生是一个类(student),那学生里面的小红就是一个对象,一个有学生的属性的对象.3.如何定义一个类 ...
- 《Java语言程序设计》第三讲类与对象“动手动脑”
一.以下代码为何无法通过编译?哪儿出错了? 答: 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法. 二. (1)以下代码输出结果是什么? package xy; public cla ...
- java 面向对象(一):类与对象
1.面向对象学习的三条主线: * 1.Java类及类的成员:属性.方法.构造器:代码块.内部类 * * 2.面向对象的大特征:封装性.继承性.多态性.(抽象性) * * 3.其它关键字:this.su ...
随机推荐
- [开源]STM32F103RBT6最小系统,LEDx2,KEYx4
STM32F103RBT6最小系统,调试通过,可以SWD模式下载程序,支持串口,一键下载. stm32f103rbt6最小系统链接:http://pan.baidu.com/s/1qYCHeHY 密码 ...
- html5引用公共头尾
<embed type="text/html" src="head.html" />
- CLM
https://github.com/TadasBaltrusaitis/CLM-framework
- Javascript return false的作用(转)
大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.return false 就相当于终止符,r ...
- Linux - sort & uniq
参考:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858385.html sort < InputFile | uniq -c
- 运用bat进行数据库备份
执行Bat脚本 @echo off sqlplus sys/welcome@orcl as sysdba @C:\Users\yangfan\Desktop\login.sql echo 按任意键结束 ...
- javascript设计模式学习之十七——程序设计原则与面向接口编程
一.编程设计原则 1)单一职责原则(SRP): 这里的职责是指“引起变化的原因”:单一职责原则体现为:一个对象(方法)只做一件事. 事实上,未必要在任何时候都一成不变地遵守原则,实际开发中,因为种种原 ...
- Python之配置文件模块 ConfigParser
写项目肯定用的到配置文件,这次学习一下python中的配置文件模块 ConfigParser 安装就不说了,pip一下即可,直接来个实例 配置文件 project.conf [db] host = ' ...
- Rs2008内存管理策略
Rs2008 在内存管理方面已经有了很大的改变.主要增加了文件缓存,允许把内存数据卸载到文件缓存中.而Rs2005 都是把数据放到内存中.对于大数据量的报表而言,很容易出现OutOfMemory 错误 ...
- nodejs发起HTTPS请求并获取数据
摘要:在网站中有时候需要跨域请求数据,直接用Ajax无法实现跨域,采用其他方式需要根据不同的浏览器做相应的处理.用Nodejs可以很好的解决这些问题,后台引用HTTPS模块,发送和返回的数据均为JSO ...