面向对象的三大特性super关键字
super关键字
在子类中,可直接访问从父类继承到的属性和方法,但如果父子类的属性或方法存在重名(属性遮蔽,方法覆盖)时,需要加以区分,才可以专项访问。
super访问方法
public class demos{
public static void main(String[] args) {
Sub s=new Sub();
s.name="西瓜虫";
s.eat("西瓜");
}
} (更多…)
面向对象的三大特效之继承
生活中的继承
生活中的 “ 继承 ” 是 施方的一种赠与, 受方的一种获得
将一方所拥有的东西给予另一方
程序中的继承
程序中的继承,是类与类之间 特征 和 行为 的一种赠与或获得
两个类之间的 继承关系 , 必须 满足 “ is a ” 的关系
狗继承动物,猫继承动物 (更多…)
面向对象的三大特性之封装
封装的必要性
public class demos{
public static void main(String[] args) {
Student s1=new Student();
s1.name="tom";
s1.age=20000;//在对象的外部,为对象的属性赋值
// 可能存在非法数据的录入
//现阶段没有办法对属性的赋值加以控制
//使用封装可以解决数据的非法问题
s1.sex="male";
}
}
class Student{
String name;
int age;
String sex;
}
如果整数 A 的全部因子(包括 1,不包括 A 本身)之和等于 B,且整数 B 的全部 因子包括 1,不包括 B本身)之和等于 A,则称整数 A\B 是一对亲密数。求 3000 以内的全部亲密数
public class demos{
public static void main(String[] args) {
for(int i=0;i<=3000;i++){
int b=send(i);
int a=send(b);
if(a<b && a==i){
System.out.println(a+"\t"+b);
}
}
}
public static int send(int n){
int sum=0;
for(int i=1;i<=n/2;i++){
if(n%i==0)sum+=i;
}
return sum;
}
}
面向对象
想要知道对象是什么,就先知道什么是程序。
什么是程序?
程序是为了模拟现实世界,解决现实问题,而使用计算机语言编写的指令集和。
如:支付宝是为了生活便捷,收付款功能。美图是为了修图和美颜的。
二维数组之杨辉三角
int row=7;//定义7行
int[][] yh=new int[row][];
//创建7行的二维数组
for(int i=0;i<row;i++){
//循环遍历创建低维数组
yh[i]=new int[i+1];
}
for(int i=0;i<yh.length;i++){
//给每行每列的第一个元素赋值
yh[i][0]=1;
yh[i][i]=1;
} (更多…)
二维数组
二维数组
概念:
一维数组中的一维数组;
数组中的元素,还是数组
二维数组相当于一个多行多列的表格
A B C
1 cary 25 man
2 hanni 20 woman
3 jeri 18 man
4 koy 15 man
5 hai 22 woman
查找A3单元格
二维数组的语法为:arr[3][A]
行下标在前,列下标在后
可变长参数
public class demos{
public static void main(String[] args) {
printArr(111,222,333,444,555);
}
public static void printArr(int… arr){
//int… 可变长参数 (更多…)
数组类型的返回值
public class demos{
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6,7};//假设arr的地址为0X0000A001
int[] newArrs=printArr(arr);
prints(newArrs);
} (更多…)
数组类型的参数
public class demos{
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6,7};//假设arr的地址为0X0000A001
print(arr);//将arr数组传入进来,此时两者指向同一个地址
}
public static void print(int[] arrs){//参数传入后arrs地址为0X0000A001
//利用foreach循环遍历
for(int i:arrs){
//依次打印数组中的元素
System.out.print(arrs[i-1]+”\t”);
}
System.out.println();
}
}


