类和方法的修饰符PPT课件
类和方法的修饰符PPT教学课件
public int pub_i=5; public void show (){
System.out.println("pub_i"+pub_i);
}
class Demo{
public static void main(String args[]){ ABC abc=new ABC(); System.out.println("abc.pub_i"+abc.pub_i); abc.pub_i=10; abc.show();
}
}
2020/12/10
4
protected变量和方法:
如果一个类中变量或方法有修饰字protected, 同一类、同一包可以使用。不同包的类要使 用,必须是该类的子类,可以存取变量或调 用。
2020/12/10
5
public class ABC{ protected int pro_i=5; protected void show(){ System.out.println("pro_i=" +pro_i);} } 同包的类:
类的说明符
➢ 类的访问说明符 (1)public (2)default(不加访问说明符时) ➢ 类的其它修饰符 (1)final (2)abstract
2020/12/10
1
c类基础知识ppt课件
结构(一)
• 结构 (struct) 是能够包含数据成员和函数成员 的数据结构。
• 结构类型的变量直接存储该结构的数据。 • 所有结构类型都隐式地从类型
System.ValueType继承。 • System.ValueType继承自System.Object。 • 结构是值类型,不需要在堆分配 • 结构类型不允许继承。结构类型不允许继承。
隐藏方法
• 用与基类成员名称相同的成员来屏蔽基类成员 • 语法: ➢ 屏蔽数据成员:在派生类中声明名称和类型
相同的成员; ➢ 屏蔽方法成员:在派生类中声明新的带有相
同方法签名的成员; ➢ 添加new关键字,否则可能报错;
构造方法
• 派生类对象中,包含基类部分,在执行派 生类的构造方法之前,将会隐式或显式的 调用基类构造方法;
枚举(二)
//:long表示基础类型是long //如果不写则默认为int enum Alignment : long {
//=也可不写,默认则是以0开始,依次加1 Left = -1, Center = 0, Right = 1 }
类与继承
继承(一)
• 为什么需要继承 减少重复的代码
• 实现继承 一个类派生于另一个基类,它拥有该基
结构(二)
• //用struct修饰,表示一个结构类型
• struct Point
•{
•
public int x;
•
public int y;
•
public Point(int x, int y)
•
{
•
this.x = x;
•
this.y = y;
•
}
•}
结构(三)
类和方法的修饰符共16页
36、如果我们国家的法律中只有某种 神灵, 而不是 殚精竭 虑将神 灵揉进 宪法, 总体上 来说, 法律就 会更好 。—— 马克·吐 温 37、纲纪废弃之日,便是暴政兴起之 时。— —威·皮 物特
38、若是没有公众舆论的支持,法律 是丝毫 没有力 量的。 ——菲 力普斯 39、一个判例造出另一个判例,它们 迅速累 聚,进 而变成 法律。 ——朱 尼厄斯
40、人类法律,事物有规律,这是不 容忽视 的。— —爱献 生
谢谢!
36、自己的鞋子,自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽则殆。——孔子
第7章Java语言中的修饰符 java课件
public class Sample{ private final int var1=1; public Sample(){ //var1=2 } public void method(final int p){ final int var2=1; //var2++; //p++; } }
7.4 static修饰符
} }
因为静态方法不需要 通过它所属的类的任 何实例就会被调用, 因此在静态方法中不 能使用this、super关 键字,不能直接访问 所属类的实例变量和 实例方法,但是可以 直接访问所属类的静 态变量和静态方法。
public class Base{ int var1; static int var2; public void method1(){} public static void method2(){ int var; this.var++; } public static void method3(){ var1++; var2++; method1(); method2(); } } class Sub extends Base{ int var; public static void method4(){ super.method1(); method2(); } }
类、方法、属性访问修饰符与修饰符小结
Java中各种(类、方法、属性)访问修饰符与修饰符的说明类:访问修饰符修饰符class类名称 extends 父类名称 implement 接口名称(访问修饰符与修饰符的位置可以互换)访问修饰符名称说明备注public 可以被本项目的所有类访问(使用),其他项目若想使用本项目中的类,必须将本项目打包为jar包,然后加入到classpath中public类必须定义在和类名相同的同名文件中(default) 只能被同一个包中的类访问(使用)默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文件中修饰符名称说明备注final 使用此修饰符的类不能够被继承abstract如果要使用abstract类,之前必须首先建一个继承abstract类的新类,新类中实abstract类中的抽象方法。
类只要有一个abstract方法,类就必须定义为abstract,但abstract类不一定非要保护abstract方法不可(abstract也可以修饰内部类)综上知:类的访问修饰符只有两个:public、package 但是特殊的情况下:成员内部类和静态内部类前面还可以有protected、private访问修饰符(而局部内部类和匿名内部类没有这两种修饰符),同时静态内部类也可以有static修饰符变量1.Java中没有全局变量,只有方法变量、实例变量(类中的非静态变量)、类变量(类中的静态变量)。
2.方法中的变量不能够有访问修饰符。
所以下面访问修饰符表仅针对于在类中定义的变量。
3.声明实例变量时,如果没有赋初值,将被初始化为null(引用类型)或者0、false(原始类型)。
4.可以通过实例变量初始化器(又叫实例块)来初始化较复杂的实例变量,实例变量初始化器是一个用{}包含的语句块,在类的构造器被调用时运行,运行于父类构造器之后,构造器之前。
5.类变量(静态变量)也可以通过类变量初始化器来进行初始化,类变量初始化器(又叫静态块)是一个用static{}包含的语句块,只可能被初始化一次。
第17讲-类的修饰符、变量和方法
people p3=new people("薛鸿",'F',1990,1.62);
当创建people的对象p1、p2、p3时,每个对象的实例变量个数和名称是相同的,但是在内存中各自占据不同的内存空间,保存的变量的值各不相同。
publicvoidvisitfrivar()
{ classA a=new classA();
a.a4=40; } //对a4的访问是合法的
…… }
该例中定义了两个类classA和classB,在classA中定义了四个成员变量,在classB中定义了四个成员方法,分别访问这四个成员变量。
由于classA是公有类,因此不论classA和classB是否在同一个包中,visitpubvar()方法对公有变量a.a1的访问都是合法的;同样,visitprovar()方法对保护变量a.a3的访问也是合法的。
用final修饰的类称为最终类。最终类不能有子类。
二、类的成员修饰符(40分钟)
用来定义类中的成员变量、成员方法时用到的各种修饰符有:
(一)访问控制修饰符
成员变量或方法的访问权限是用访问控制修饰符来指定的。Java的访问控制修饰符包括三种显示修饰符和一种隐含方式修饰符。访问权限如表1所示。
名称
修饰符
的值为"黎明",p1.gender的值为'M',p1.birth的值为1986,p1.height的值为1.80。
的值为"张思安",p2.gender的值为'M',p2.birth的值为1987,p2.height的值为1.76。
08_类与方法共32页PPT资料
• System.out.println("我叫XXXX");
•}
• int Rect(int l,int w){
•
int res;
•
res=l*w;
•
return res;
•}
名词解释
• 返回值类型: 返回给调用者一个什么类型 的值。
• 方法名称: 方法名称随便起,但是最好有 一定意义.
• 参数列表: 调用者必须要提供给方法的数 据.
• 分析:帐户是一个比较单纯的问题,可以从问 题当中的名词来识别出对象,描述中有“帐户” 与“余额”两个名词,基本上两个名词都可以 识别成对象,然而在这么简单的问题当中,设 计精度不需要那么细,所以您先识别出“帐户” 这个对象就可以了
识别出对象与属性
• 识别出对象之后,接下来看看对象上有 什么属性(比如对象上拥有什么特征或 是可表示的状态)。属性是对象上的静 态特性,属性基本上也可以从名词上识 别。在这个例子中,您可以将“余额” 作为帐户的属性之一.
•
System.out.println(str);
•
}
二.类
• 2.1 以对象的问题思考问题
• 简单的说,面向对象的思维就是以对象为中 心来思考问题.
• 以对象为中心思考问题,首先要识别出问题 中的对象,以及对象上的属性与可操作方法.
2.1.2 识别问题中的”对象”与” 属性”
• 例:有一个帐户,帐户中有存款余额,您可以 对帐户进行存款与取款的动作,别且可以查询 以取得存款余额.
识别出对象上的方法
名词
名词
有一个帐户,帐户中有存款余额,您可以对 帐户进行存款与提款的动作,并可以查询已 取得存款余额。
存款 提款
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public int pub_i=5; public void show (){
System.out.println("pub_i"+pub_i);
}
class Demo{
public static void main(String args[]){ ABC abc=new ABC(); System.out.println("abc.pub_i"+abc.pub_i); abc.pub_i=10; abc.show();
private
同包
子类
通用性
2020/10/13
11
方法的访问控制
访问说
不同 明符 public
情形下
同类
protecte d
default
同包
子类
通用性
private
2020/10/13
12
常量的定义
➢ 使用关键字final定义常量,例如: final double PI=3.1415926;
2020/10/13
6
➢ private不允许任何其他类存取和调用;
2020/10/13
7
方法的访问控制
访问说
不同 明符 public
情形下
同类
protected default
private
同包
子类
通用性
(通用性指处于不同包内,没有任何的关系)
2020/10/13
8
方法的访问控制
访问说
不同 明符 public
汇报人:XXXX 日期:20XX年XX月XX日
14
import mytest.pack.ABC; class DEF extends ABC{ public static void main(String agrs[]){ DEF def=new DEF(); System.out.println(def.i); def.i=10; def.show();} }
2020/10/13
2
public类不但可以被同一程序包中的其它 类使用,别的程序包中的类也可以使用;
变量和方法的修饰字public、protected、 private:
public:任何其他类、对象只要可以看到 这个类的话,那么它就可以存取变量的数 据,或使用方法。
2020/10/13
3
class ABC{
类的说明符
➢ 类的访问说明符 (1)public (2)default(不加访问说明符时) ➢ 类的其它修饰符 (1)final (2)abstract
2020/10/13
1
方法的说明符
➢ 方法的访问说明符 (1)public (2)protected (3)default(不加访问说明符时) (4)private ➢ 方法的其它修饰符 (1)static (2)final (3)abstract (4)native (5)synchronized
➢ 作为一种约定,在定义常量时,通常采用 大写形式。
➢ final常量可以在声明的同时赋初值,也可 以在构造函数中赋初值。
➢ 为了节省内存,我们通常将常量声明为静 态的(static)。
2020/10/13
13
谢谢您的指导
THANK YOU FOR YOUR GUIDANCE.
感谢阅读!为了方便学习和使用,本文档的内容可以在下载后随意修改,调整和打印。欢迎下载!
}
}
2020/10/13
4
protected变量和方法:
如果一个类中变量或方法有修饰字protected, 同一类、同一包可以使用。不同包的类要使 用,必须是该类的子类,可以存取变量或调 用。
2020/10/13
5
public class ABC{ protected int pro_i=5; protected void show(){ System.out.println("pro_i=" +pro_i);} } 同包的类:
情形下
同类
protected default
private
同包
子类
通用性
2020/10/13
9
方法的访问控制
访问说
不同 明符 public
情形下
同类
protected default
private
同包
子类
通用性
2020/10/13
10
方法的访问控制
访问说
不同 明符 public
情形下
同类
protected default
class DEF{ public static void main(String args[]){ ABC abc=new ABC(); System.out.println("abc.pro_i="+abc.pro_i); abc.pub_i=10; abc.show(); } } 不同包但是是子类: