关于
java成员变量隐藏的搜索结果
回答
注意和楼上那个比较######同名变量 会有两个,隐藏只会有一个######
哈哈,建议你放弃JAVA吧######知道了这个是同一个变量,不是同名, 为什么劝我要放弃?######
你这子类 的成员变量不是继承来的吗,又不是子类特有的 ######嗯嗯知道了,谢谢 之前被子类继承父类后拥有子+父误导了,以为产生了新变量######
请看同名的情况。为 子类 B 添加一个和父类 A 同名的成员变量 password, 结果就不同了吧?
子类成员变量:22 父类成员变量:11
public class B extends A {
//此处,为子类添加一个和父类同名的成员变量
private String password;
public B(String password) {
//调用父类的构造方法,将创建子类的参数值,传给父类的成员变量
super(password); /
// 以字符串"22" 赋值给子类的成员变量
this.password = "22";
//结果,子类成员变量的值,一定是 "22"
System.out.println("子类成员变量:"+this.password);
//父类的成员变量,是创建子类时所接受的参数值,由17行得知,应当是"11"
System.out.println("父类成员变量:"+super.password);
}
public static void main(String[] args) {
@SuppressWarnings("unused")
B b = new B("11");//用参数值"11"创建子类
}
}
class A{
protected String password;
public A(String password) {
this.password = password;
}
}
######是的
python小菜菜
2020-06-19 13:38:40
0 浏览量
回答数 0
回答
注意和楼上那个比较######同名变量 会有两个,隐藏只会有一个######
哈哈,建议你放弃JAVA吧######知道了这个是同一个变量,不是同名, 为什么劝我要放弃?######
你这子类 的成员变量不是继承来的吗,又不是子类特有的 ######嗯嗯知道了,谢谢 之前被子类继承父类后拥有子+父误导了,以为产生了新变量######
请看同名的情况。为 子类 B 添加一个和父类 A 同名的成员变量 password, 结果就不同了吧?
子类成员变量:22 父类成员变量:11
public class B extends A {
//此处,为子类添加一个和父类同名的成员变量
private String password;
public B(String password) {
//调用父类的构造方法,将创建子类的参数值,传给父类的成员变量
super(password); /
// 以字符串"22" 赋值给子类的成员变量
this.password = "22";
//结果,子类成员变量的值,一定是 "22"
System.out.println("子类成员变量:"+this.password);
//父类的成员变量,是创建子类时所接受的参数值,由17行得知,应当是"11"
System.out.println("父类成员变量:"+super.password);
}
public static void main(String[] args) {
@SuppressWarnings("unused")
B b = new B("11");//用参数值"11"创建子类
}
}
class A{
protected String password;
public A(String password) {
this.password = password;
}
}
######是的
kun坤
2020-06-06 13:55:35
0 浏览量
回答数 0
回答
第一步我们首先需要了解java中的封装指的是什么,封装是一种将抽象性接口的实现细节都包装和隐藏起来的方法,它具有减少耦合,类内部结构可以修改,成员变量精准控制的优点,如下图所示:
java中封装是什么,怎么实现封装
第二步下面来介绍java中的封装步骤,打开eclipse,封装首先会通过private私有化变量,限制对类属性的访问,如下图所示:
java中封装是什么,怎么实现封装
第三步通过set和get方法设置对每个属性对外访问接口,外部需要改变类的属性,需要通过这些公共public的方法,如下图所示:
java中封装是什么,怎么实现封装
第四步这里介绍一个java封装类的实例,创建一个Test雷,对变量进行私有,方法进行公共,set和get方法可以自动生成,如下图所示:
java中封装是什么,怎么实现封装
第五步创建一个Test2类,创建Test类的对象,通过对象设置封装类的属性,然后通过get方法获取这些属性,如下图所示:
java中封装是什么,怎么实现封装
第六步运行项目指挥,在控制台可以看到成功获取了封装类的属性,如下图所示:
java中封装是什么,怎么实现封装
游客lz7tjhznmiyda
2019-12-02 01:03:55
0 浏览量
回答数 0
回答
java上转型对象属性:上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。即为较子类B失去一些属性和功能,这些属性和功能是新增的。上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。即为上转型对象可以操纵父类原有的属性和功能,无论这些方法是否被重写。上转型对象调用方法时,就是调用子类继承和重写过的方法。而不会是新增的方法,也不是父类原有的方法。可以将对象的上转型对象再强制转换到一个子类对象,强制转换过的对象具有子类所有属性和功能。因为你父类中f()是私有的,没有被子类所继承和重写,所以调用的是自身的f()方法。输出Private f()
蛮大人123
2019-12-02 01:52:10
0 浏览量
回答数 0
回答
super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参)
this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)
super()和this()类似,区别是,super()在子类中调用父类的构造方法,this()在本类内调用本类的其它构造方法。
super()和this()均需放在构造方法内第一行。
尽管可以用this调用一个构造器,但却不能调用两个。
this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。
从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字。
问问小秘
2020-03-27 16:47:14
0 浏览量
回答数 0
回答
I. 原则:灵活运用,而非刻意遵循
基础原则尽量少的重复代码,低耦合(尽量小的影响),高内聚
模块,可小到一个类,大到一个系统
模块间耦合因素构建架构时,需要谨慎耦合的因素
模块间调用
模块间传递的数据量
模块间控制
模块间接口复杂度
模块间耦合从弱到强顺序构建架构或简单的类时,需要根据实际情况尽量契合弱的模块间耦合关系
做到职责分明,简单轻量,尽量少的潜在性的数据流动,尽量少的相互影响,避免牵一发而动全身
非直接耦合: 相互之间没有直接关系,而是由第三方模块控制和调用
数据耦合: 通过传递java的内置数据类型通讯
标记耦合: 都引用了共同的数据结构,并且通过传递该数据结构通讯
控制耦合: 通过传递开关、标志、名字等控制信息,明显的控制选择另一个模块的功能
外部耦合: 都访问一个java的内置数据类型的全局变量
公共耦合: 都访问了一个公共代码块( 全局数据结构、公共通讯区、内存公共覆盖区等)
内容耦合: 一个模块直接修改另外一个模块的数据。
降低耦合度的方法少用类继承,多用类接口隐藏实现细节
模块功能尽量单一
拒绝重复代码
尽量不使用全局变量(Android中的全局变量会有一些坑,因为Attach在ClassLoader上的,因此根据不同ROM的优化,可能会在未预料的情况被unload,导致数据丢失)
类成员变量与方法少用public,多用private
尽量不用硬编码(如 字符串放到 res/string.xml,SQL语句做一层基于业务的封装供上层使用)
使用设计模式,尽量让模块间的耦合关系保证在数据耦合或更弱
为了方便Java开发者快速找到相关技术问题和答案,开发者社区策划了Java技术1000问内容,包含最基础的Java语言概述、数据类型和运算符、面向对象等维度内容。