第四章学习总结

教材学习总结

第四章 类与对象

1、编程语言发展阶段

面向机器语言→面向过程语言→面向对象语言

面向对象编程的特性:

封装性、继承、多态

2、类(一种数据类型,用于创建具体实例(对象),抽象出一类事物的属性和行为

类声明的变量被称为对象变量

类的定义包括两部分:类声明和类体

class 类名{
类体的内容
}

类声明

class XXX{...}

(1)类名首字母大写

(2)单词复合而成

类体(大括号“{}”及其里面的内容)

*变量的声明:用来储存属性的值(体现对象的属性)(含有方法变量和域变量)

*方法的定义:方法可以对类中声明的变量进行操作,即给出算法

class laber{
float above;   //变量声明
float boyyom;
float height;
float area;
float computerArea(){    //定义方法computerArea
area=(above+bottom)*height/2.0f;
return area;
}
void setHeight(float h){    //定义方法setHeight
height=h;
}}

成员变量

基本类型:整型,浮点型,字符型,逻辑类型;

引用类型:数组,对象和接口

有效范围:在整个类内都有效,与在类体中的先后位置无关

编程风格:一行只声明一个变量、首单词或首字母小写

方法(方法头和方法体)

int getSum(int n){    //定义方法,参数变量n是局部变量
int sum=0;              //声明局部变量sum
for(inti=1;i<=n;i++){
sum=sum+i;
}
return sum;
}

局部变量只在方法内有效,而且与其声明的位置有关。方法参数在整个方法内有效

*如果成员变量和局部变量名字相同,成员变量将被隐藏,方法暂时失效

*局部变量没有默认值,成员变量有

构造方法与对象的创建

(1)构造方法

类构造方法的名字必须与类完全相同且没有类型。一个类中可以有多个构造方法,但参数个数或者参数列表中的某个参数必须不同。

*如果类内定义了构造方法,java则不提供默认构造方法

构造方法例子
class point{
int x,y;
point() {
x=1;
y=1;
}
point(int a,int b){
x=a;
y=b;
}}

void point(int a,int b){   //不是构造方法,,该方法类型为void
x=a;
y=b;
}
int point(){   //不是构造方法,方法类型为int
return 12;
}}

(2)创建对象

XiyoujiRenwu zhubajie;  //声明对象
zhubajie=new XiyoujiRenwu();  //为对象分配变量(使用new和默认构造方法)

Point p1,p2;
p1=new Point(10,10);
p2=new Point(23,35);

(3)使用对象

对象.变量
对象.方法
zhubajie.height=180.f
zhubajie.new XiyoujiRenwu();

体现封装性

(4)对象的引用和实体

*避免使用空对象

类与程序的基本结构

源文件rect.java
public class rect{
double width;
double height;
double getArea(){
   double area=width*height;
return area;
}}

源文件Lader.java
public class Lader{
  double above;
  double bottom;
  double height;
  doublr getArea(){
    return (above+bottom)*height/2;
}}

源文件example.java
public class example{
 publec static void main(String arg[]){
  rect ractangle=new rect();
rantangle.width=109.87;
ractangle.height=25.18;
double area=ractangle.getArea();
System.out.println("矩形的面积"+area);
Lader lader=new Lader();
lader.above=10.798;
lader.bottom=156.65;
lader.height=18.12;
area=lader.getArea();
System.out.println("梯形的面积"+area);
}}

参数传值

*不可以向int型参数传递一个float值,但可以向double型传递一个float值

comouter com =new computer();
int m=100;
int n=200;
int result=com.add(m,n);   //将m、n值传值给参数x,y
result=com.add(120+m,n*10+8);   //将表达式120+m和n*10+8传值给参数x,y

对象的组合

实例成员与成员

class Dog{
float x;    //实例变量
static int y;  //类变量(static变量,静态变量)
}

实例变量:创建对象后、实例方法都可以访问

类变量:类声明后、用类方法访问

定义:

class A{
int a;
float max(float x,float y){    //实例方法
.......
}
static float jerry(){   //类方法
....
}
static void speak(String s){  //类方法
....}}

方法重载

两种多态:重写与重载

类方法中对象行为的多态性是方法的重载

class people{   //方法的重载
  float hello(int a,int b){
    return a+b;
}
float hello(long a,int b){
return a-b;
}
double hello(double a,int b){
return a*b;
}

this关键字

this.成员变量;

import语句

java.lang 基本

javax.swing 图形文本窗口

java.io 输入输出类

java.sql 操作数据库的类

Java.net 实现网络功能的类

访问权限

访问权限级别从高到低public、protected、friendly、private

作用域当前类同-package子孙类其他package
public
protected×
friendly××
private×××

*不能用protected和private修饰类

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值